#include <hxcpp.h>

#ifndef INCLUDED_Hash
#include <Hash.h>
#endif
#ifndef INCLUDED_JArray
#include <JArray.h>
#endif
#ifndef INCLUDED_JAttribute
#include <JAttribute.h>
#endif
#ifndef INCLUDED_JClass
#include <JClass.h>
#endif
#ifndef INCLUDED_JClassField
#include <JClassField.h>
#endif
#ifndef INCLUDED_JCode
#include <JCode.h>
#endif
#ifndef INCLUDED_JConstant
#include <JConstant.h>
#endif
#ifndef INCLUDED_JExternalObject
#include <JExternalObject.h>
#endif
#ifndef INCLUDED_JField
#include <JField.h>
#endif
#ifndef INCLUDED_JMethod
#include <JMethod.h>
#endif
#ifndef INCLUDED_JObject
#include <JObject.h>
#endif
#ifndef INCLUDED_JPrintStream
#include <JPrintStream.h>
#endif
#ifndef INCLUDED_JRuntime
#include <JRuntime.h>
#endif
#ifndef INCLUDED_JString
#include <JString.h>
#endif
#ifndef INCLUDED_JStringBuilder
#include <JStringBuilder.h>
#endif
#ifndef INCLUDED_JSystem
#include <JSystem.h>
#endif
#ifndef INCLUDED_JTryCatch
#include <JTryCatch.h>
#endif
#ifndef INCLUDED_JVM
#include <JVM.h>
#endif
#ifndef INCLUDED_JValue
#include <JValue.h>
#endif
#ifndef INCLUDED_Lambda
#include <Lambda.h>
#endif
#ifndef INCLUDED_List
#include <List.h>
#endif
#ifndef INCLUDED_hxMath
#include <hxMath.h>
#endif
#ifndef INCLUDED_Reflect
#include <Reflect.h>
#endif
#ifndef INCLUDED_Std
#include <Std.h>
#endif
#ifndef INCLUDED_StringTools
#include <StringTools.h>
#endif
#ifndef INCLUDED_Type
#include <Type.h>
#endif
#ifndef INCLUDED_ValueType
#include <ValueType.h>
#endif
#ifndef INCLUDED_cpp_CppInt32__
#include <cpp/CppInt32__.h>
#endif
#ifndef INCLUDED_cpp_vm_Gc
#include <cpp/vm/Gc.h>
#endif
#ifndef INCLUDED_haxe_Int64
#include <haxe/Int64.h>
#endif
#ifndef INCLUDED_haxe_Log
#include <haxe/Log.h>
#endif
#ifndef INCLUDED_haxe_Public
#include <haxe/Public.h>
#endif
#ifndef INCLUDED_haxe_Resource
#include <haxe/Resource.h>
#endif
#ifndef INCLUDED_haxe_io_Bytes
#include <haxe/io/Bytes.h>
#endif
#ifndef INCLUDED_haxe_io_BytesBuffer
#include <haxe/io/BytesBuffer.h>
#endif
#ifndef INCLUDED_haxe_io_BytesInput
#include <haxe/io/BytesInput.h>
#endif
#ifndef INCLUDED_haxe_io_BytesOutput
#include <haxe/io/BytesOutput.h>
#endif
#ifndef INCLUDED_haxe_io_Eof
#include <haxe/io/Eof.h>
#endif
#ifndef INCLUDED_haxe_io_Input
#include <haxe/io/Input.h>
#endif
#ifndef INCLUDED_haxe_io_Output
#include <haxe/io/Output.h>
#endif

Void JVM_obj::__construct()
{
	return null();
}

JVM_obj::~JVM_obj() { }

Dynamic JVM_obj::__CreateEmpty() { return  new JVM_obj; }
hx::ObjectPtr< JVM_obj > JVM_obj::__new()
{  hx::ObjectPtr< JVM_obj > result = new JVM_obj();
	result->__construct();
	return result;}

Dynamic JVM_obj::__Create(hx::DynamicArray inArgs)
{  hx::ObjectPtr< JVM_obj > result = new JVM_obj();
	result->__construct();
	return result;}

::Hash JVM_obj::classes;

::Hash JVM_obj::externs;

int JVM_obj::resolveRef( ::JConstant c){
	HX_SOURCE_PUSH("JVM_obj::resolveRef")
	struct _Function_1_1{
		inline static int Block( ::JConstant &c){
			{
				HX_SOURCE_POS("Source/JVM.hx",16)
				{
::JConstant _switch_1 = (c);
					switch((_switch_1)->GetIndex()){
						case 5: {
							int i = _switch_1->__Param(0);
{
								HX_SOURCE_POS("Source/JVM.hx",17)
								return i;
							}
						}
						;break;
						case 6: {
							int i = _switch_1->__Param(0);
{
								HX_SOURCE_POS("Source/JVM.hx",18)
								return i;
							}
						}
						;break;
						default: {
							HX_SOURCE_POS("Source/JVM.hx",19)
							return (int)0;
						}
					}
				}
			}
			return null();
		}
	};
	HX_SOURCE_POS("Source/JVM.hx",15)
	return _Function_1_1::Block(c);
}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(JVM_obj,resolveRef,return )

::JClass JVM_obj::readClass( ::haxe::io::BytesInput b){
	HX_SOURCE_PUSH("JVM_obj::readClass")
	HX_SOURCE_POS("Source/JVM.hx",23)
	b->setEndian(true);
	HX_SOURCE_POS("Source/JVM.hx",24)
	if (((b->readByte() != (int)202))){
		HX_SOURCE_POS("Source/JVM.hx",24)
		hx::Throw (HX_CSTRING("Malformed magic number in class file"));
	}
	HX_SOURCE_POS("Source/JVM.hx",25)
	if (((b->readByte() != (int)254))){
		HX_SOURCE_POS("Source/JVM.hx",25)
		hx::Throw (HX_CSTRING("Malformed magic number in class file"));
	}
	HX_SOURCE_POS("Source/JVM.hx",26)
	if (((b->readByte() != (int)186))){
		HX_SOURCE_POS("Source/JVM.hx",26)
		hx::Throw (HX_CSTRING("Malformed magic number in class file"));
	}
	HX_SOURCE_POS("Source/JVM.hx",27)
	if (((b->readByte() != (int)190))){
		HX_SOURCE_POS("Source/JVM.hx",27)
		hx::Throw (HX_CSTRING("Malformed magic number in class file"));
	}
	HX_SOURCE_POS("Source/JVM.hx",28)
	::JClass c = ::JClass_obj::__new();
	HX_SOURCE_POS("Source/JVM.hx",29)
	Array< int > classrefs = Array_obj< int >::__new();
	HX_SOURCE_POS("Source/JVM.hx",30)
	c->minor_version = b->readInt16();
	HX_SOURCE_POS("Source/JVM.hx",31)
	c->major_version = b->readInt16();
	HX_SOURCE_POS("Source/JVM.hx",32)
	c->const_pool_count = b->readInt16();
	HX_SOURCE_POS("Source/JVM.hx",33)
	c->const_pool = Array_obj< ::JConstant >::__new().Add(null());
	HX_SOURCE_POS("Source/JVM.hx",37)
	while(((c->const_pool->length < (c->const_pool_count - (int)2)))){
		HX_SOURCE_POS("Source/JVM.hx",38)
		int bi = b->readByte();
		struct _Function_2_1{
			inline static ::JConstant Block( int &bi,::haxe::io::BytesInput &b,Array< int > &classrefs,::JClass &c){
				{
					HX_SOURCE_POS("Source/JVM.hx",39)
					switch( (int)(bi)){
						case (int)1: {
							HX_SOURCE_POS("Source/JVM.hx",40)
							return ::JConstant_obj::str(b->readString(b->readInt16()));
						}
						;break;
						case (int)2: {
							HX_SOURCE_POS("Source/JVM.hx",42)
							return ::JConstant_obj::str(b->readString(b->readInt16()));
						}
						;break;
						case (int)3: {
							HX_SOURCE_POS("Source/JVM.hx",44)
							return ::JConstant_obj::i32(b->readInt32());
						}
						;break;
						case (int)4: {
							HX_SOURCE_POS("Source/JVM.hx",46)
							return ::JConstant_obj::flt(b->readFloat());
						}
						;break;
						case (int)5: {
							HX_SOURCE_POS("Source/JVM.hx",49)
							::cpp::CppInt32__ high = b->readInt32();
							HX_SOURCE_POS("Source/JVM.hx",50)
							::cpp::CppInt32__ low = b->readInt32();
							HX_SOURCE_POS("Source/JVM.hx",51)
							return ::JConstant_obj::i64(::haxe::Int64_obj::__new(high,low));
						}
						;break;
						case (int)6: {
							HX_SOURCE_POS("Source/JVM.hx",52)
							return ::JConstant_obj::dbl(b->readDouble());
						}
						;break;
						case (int)7: {
							HX_SOURCE_POS("Source/JVM.hx",55)
							classrefs->push(c->const_pool->length);
							HX_SOURCE_POS("Source/JVM.hx",56)
							return ::JConstant_obj::classref(b->readInt16());
						}
						;break;
						case (int)8: {
							HX_SOURCE_POS("Source/JVM.hx",57)
							return ::JConstant_obj::stringref(b->readInt16());
						}
						;break;
						case (int)9: {
							HX_SOURCE_POS("Source/JVM.hx",60)
							int nt = b->readInt16();
							HX_SOURCE_POS("Source/JVM.hx",61)
							return ::JConstant_obj::fieldref(nt,b->readInt16());
						}
						;break;
						case (int)10: {
							HX_SOURCE_POS("Source/JVM.hx",63)
							int nt = b->readInt16();
							HX_SOURCE_POS("Source/JVM.hx",64)
							return ::JConstant_obj::methodref(nt,b->readInt16());
						}
						;break;
						case (int)11: {
							HX_SOURCE_POS("Source/JVM.hx",66)
							int nt = b->readInt16();
							HX_SOURCE_POS("Source/JVM.hx",67)
							return ::JConstant_obj::imethodref(nt,b->readInt16());
						}
						;break;
						case (int)12: {
							HX_SOURCE_POS("Source/JVM.hx",69)
							int t = b->readInt16();
							HX_SOURCE_POS("Source/JVM.hx",70)
							return ::JConstant_obj::nameandtype(t,b->readInt16());
						}
						;break;
						default: {
							HX_SOURCE_POS("Source/JVM.hx",71)
							return hx::Throw ((HX_CSTRING("Unknown tag byte: ") + bi));
						}
					}
				}
				return null();
			}
		};
		HX_SOURCE_POS("Source/JVM.hx",39)
		::JConstant constant = _Function_2_1::Block(bi,b,classrefs,c);
		HX_SOURCE_POS("Source/JVM.hx",77)
		c->const_pool->push(constant);
	}
	HX_SOURCE_POS("Source/JVM.hx",79)
	c->access_flags = b->readByte();
	HX_SOURCE_POS("Source/JVM.hx",80)
	c->bitmask = b->readByte();
	HX_SOURCE_POS("Source/JVM.hx",81)
	c->this_id = b->readInt16();
	HX_SOURCE_POS("Source/JVM.hx",82)
	c->super_id = b->readInt16();
	HX_SOURCE_POS("Source/JVM.hx",83)
	c->interf_count = b->readInt16();
	HX_SOURCE_POS("Source/JVM.hx",84)
	c->interfaces = Array_obj< int >::__new();
	HX_SOURCE_POS("Source/JVM.hx",85)
	while(((c->interfaces->length < c->interf_count))){
		HX_SOURCE_POS("Source/JVM.hx",85)
		c->interfaces->push(b->readInt16());
	}
	HX_SOURCE_POS("Source/JVM.hx",88)
	int fields_count = b->readInt16();
	HX_SOURCE_POS("Source/JVM.hx",89)
	c->cfields = Array_obj< ::JClassField >::__new();
	HX_SOURCE_POS("Source/JVM.hx",90)
	while(((c->cfields->length < fields_count))){
		HX_SOURCE_POS("Source/JVM.hx",91)
		::JClassField field = ::JClassField_obj::__new();
		HX_SOURCE_POS("Source/JVM.hx",92)
		field->access_flags = b->readInt16();
		HX_SOURCE_POS("Source/JVM.hx",93)
		field->name_index = b->readInt16();
		HX_SOURCE_POS("Source/JVM.hx",94)
		field->descriptor_index = b->readInt16();
		HX_SOURCE_POS("Source/JVM.hx",95)
		field->attributes_count = b->readInt16();
		HX_SOURCE_POS("Source/JVM.hx",96)
		field->attributes = Array_obj< ::JAttribute >::__new();
		HX_SOURCE_POS("Source/JVM.hx",97)
		while(((field->attributes->length < field->attributes_count))){
			HX_SOURCE_POS("Source/JVM.hx",97)
			field->attributes->push(::JVM_obj::readAttribute(c->const_pool,b));
		}
		HX_SOURCE_POS("Source/JVM.hx",100)
		c->cfields->push(field);
	}
	HX_SOURCE_POS("Source/JVM.hx",102)
	int methods_count = b->readInt16();
	HX_SOURCE_POS("Source/JVM.hx",103)
	c->methods = Array_obj< ::JMethod >::__new();
	HX_SOURCE_POS("Source/JVM.hx",104)
	while(((c->methods->length < methods_count))){
		HX_SOURCE_POS("Source/JVM.hx",105)
		::JMethod method = ::JMethod_obj::__new();
		HX_SOURCE_POS("Source/JVM.hx",106)
		method->access_flags = b->readInt16();
		HX_SOURCE_POS("Source/JVM.hx",107)
		method->name_index = b->readInt16();
		HX_SOURCE_POS("Source/JVM.hx",108)
		method->descriptor_index = b->readInt16();
		HX_SOURCE_POS("Source/JVM.hx",109)
		method->attributes_count = b->readInt16();
		HX_SOURCE_POS("Source/JVM.hx",110)
		method->attributes = Array_obj< ::JAttribute >::__new();
		HX_SOURCE_POS("Source/JVM.hx",111)
		while(((method->attributes->length < method->attributes_count))){
			HX_SOURCE_POS("Source/JVM.hx",111)
			method->attributes->push(::JVM_obj::readAttribute(c->const_pool,b));
		}
		HX_SOURCE_POS("Source/JVM.hx",114)
		c->methods->push(method);
	}
	HX_SOURCE_POS("Source/JVM.hx",116)
	b->close();
	HX_SOURCE_POS("Source/JVM.hx",117)
	::String tname = ::JVM_obj::toNativeValue(::JVM_obj::toValue(c->const_pool->__get(::JVM_obj::resolveRef(c->const_pool->__get(c->this_id))),null()));
	HX_SOURCE_POS("Source/JVM.hx",119)
	c->initc();
	HX_SOURCE_POS("Source/JVM.hx",120)
	::JVM_obj::classes->set(tname,c);
	HX_SOURCE_POS("Source/JVM.hx",121)
	{
		HX_SOURCE_POS("Source/JVM.hx",121)
		int _g = (int)0;
		HX_SOURCE_POS("Source/JVM.hx",121)
		while(((_g < classrefs->length))){
			HX_SOURCE_POS("Source/JVM.hx",121)
			int r = classrefs->__get(_g);
			HX_SOURCE_POS("Source/JVM.hx",121)
			++(_g);
			HX_SOURCE_POS("Source/JVM.hx",122)
			::String cl = ::JVM_obj::toNativeValue(::JVM_obj::toValue(c->const_pool->__get(::JVM_obj::resolveRef(c->const_pool->__get(r))),null()));
			HX_SOURCE_POS("Source/JVM.hx",123)
			if (((bool(!(::JVM_obj::classes->exists(cl))) && bool(!(::JVM_obj::externs->exists(cl)))))){
				HX_SOURCE_POS("Source/JVM.hx",124)
				::haxe::Log_obj::trace((HX_CSTRING("Missing Class: ") + cl),hx::SourceInfo(HX_CSTRING("JVM.hx"),124,HX_CSTRING("JVM"),HX_CSTRING("readClass")));
			}
		}
	}
	HX_SOURCE_POS("Source/JVM.hx",126)
	return c;
}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(JVM_obj,readClass,return )

::JAttribute JVM_obj::readAttribute( Array< ::JConstant > pool,::haxe::io::BytesInput i){
	HX_SOURCE_PUSH("JVM_obj::readAttribute")
	HX_SOURCE_POS("Source/JVM.hx",129)
	::JConstant name = pool->__get(i->readInt16());
	HX_SOURCE_POS("Source/JVM.hx",130)
	int length = ::cpp::CppInt32___obj::toInt(i->readInt32());
	HX_SOURCE_POS("Source/JVM.hx",131)
	::haxe::io::BytesOutput bo = ::haxe::io::BytesOutput_obj::__new();
	HX_SOURCE_POS("Source/JVM.hx",132)
	{
		HX_SOURCE_POS("Source/JVM.hx",132)
		int _g = (int)0;
		HX_SOURCE_POS("Source/JVM.hx",132)
		while(((_g < length))){
			HX_SOURCE_POS("Source/JVM.hx",132)
			int i1 = (_g)++;
			HX_SOURCE_POS("Source/JVM.hx",133)
			bo->writeByte((int)0);
		}
	}
	HX_SOURCE_POS("Source/JVM.hx",134)
	bo->close();
	HX_SOURCE_POS("Source/JVM.hx",135)
	::haxe::io::Bytes bytes = bo->getBytes();
	HX_SOURCE_POS("Source/JVM.hx",136)
	i->readBytes(bytes,(int)0,length);
	struct _Function_1_1{
		inline static ::JAttribute Block( ::haxe::io::Bytes &bytes,Array< ::JConstant > &pool,::JConstant &name){
			{
				HX_SOURCE_POS("Source/JVM.hx",138)
				{
::JConstant _switch_2 = (name);
					switch((_switch_2)->GetIndex()){
						case 0: {
							::String s = _switch_2->__Param(0);
{
								struct _Function_3_1{
									inline static ::JAttribute Block( ::haxe::io::Bytes &bytes,::String &s,Array< ::JConstant > &pool){
										{
											HX_SOURCE_POS("Source/JVM.hx",139)
											::String _switch_3 = (s);
											if (  ( _switch_3==HX_CSTRING("Code"))){
												HX_SOURCE_POS("Source/JVM.hx",142)
												::JCode code = ::JCode_obj::__new();
												HX_SOURCE_POS("Source/JVM.hx",143)
												::haxe::io::BytesInput bi = ::haxe::io::BytesInput_obj::__new(bytes,null(),null());
												HX_SOURCE_POS("Source/JVM.hx",144)
												bi->setEndian(true);
												HX_SOURCE_POS("Source/JVM.hx",145)
												code->max_stack = bi->readInt16();
												HX_SOURCE_POS("Source/JVM.hx",146)
												code->max_locals = bi->readInt16();
												HX_SOURCE_POS("Source/JVM.hx",147)
												int code_length = ::cpp::CppInt32___obj::toInt(bi->readInt32());
												HX_SOURCE_POS("Source/JVM.hx",148)
												::haxe::io::BytesBuffer codei = ::haxe::io::BytesBuffer_obj::__new();
												HX_SOURCE_POS("Source/JVM.hx",149)
												while((((code_length)-- > (int)0))){
													HX_SOURCE_POS("Source/JVM.hx",150)
													codei->b->push(bi->readByte());
												}
												HX_SOURCE_POS("Source/JVM.hx",151)
												code->code = codei->getBytes();
												HX_SOURCE_POS("Source/JVM.hx",152)
												int trys_length = bi->readInt16();
												HX_SOURCE_POS("Source/JVM.hx",153)
												code->trys = Array_obj< ::JTryCatch >::__new();
												HX_SOURCE_POS("Source/JVM.hx",154)
												{
													HX_SOURCE_POS("Source/JVM.hx",154)
													int _g = (int)0;
													HX_SOURCE_POS("Source/JVM.hx",154)
													while(((_g < trys_length))){
														HX_SOURCE_POS("Source/JVM.hx",154)
														int i1 = (_g)++;
														HX_SOURCE_POS("Source/JVM.hx",155)
														code->trys[i1] = ::JTryCatch_obj::__new();
														HX_SOURCE_POS("Source/JVM.hx",156)
														code->trys->__get(i1)->start_pc = bi->readInt16();
														HX_SOURCE_POS("Source/JVM.hx",157)
														code->trys->__get(i1)->end_pc = bi->readInt16();
														HX_SOURCE_POS("Source/JVM.hx",158)
														code->trys->__get(i1)->handler_pc = bi->readInt16();
														HX_SOURCE_POS("Source/JVM.hx",159)
														code->trys->__get(i1)->catch_type = bi->readInt16();
													}
												}
												HX_SOURCE_POS("Source/JVM.hx",161)
												int attributes_count = bi->readInt16();
												HX_SOURCE_POS("Source/JVM.hx",162)
												code->attributes = Array_obj< ::JAttribute >::__new();
												HX_SOURCE_POS("Source/JVM.hx",163)
												{
													HX_SOURCE_POS("Source/JVM.hx",163)
													int _g = (int)0;
													HX_SOURCE_POS("Source/JVM.hx",163)
													while(((_g < attributes_count))){
														HX_SOURCE_POS("Source/JVM.hx",163)
														int i1 = (_g)++;
														HX_SOURCE_POS("Source/JVM.hx",164)
														code->attributes[i1] = ::JVM_obj::readAttribute(pool,bi);
													}
												}
												HX_SOURCE_POS("Source/JVM.hx",166)
												return ::JAttribute_obj::Code(code);
											}
											else if (  ( _switch_3==HX_CSTRING("Synthetic"))){
												HX_SOURCE_POS("Source/JVM.hx",167)
												return ::JAttribute_obj::Synthetic_dyn();
											}
											else if (  ( _switch_3==HX_CSTRING("ConstantValue"))){
												HX_SOURCE_POS("Source/JVM.hx",168)
												return ::JAttribute_obj::ConstantValue_dyn();
											}
											else if (  ( _switch_3==HX_CSTRING("SourceFile"))){
												HX_SOURCE_POS("Source/JVM.hx",169)
												return ::JAttribute_obj::SourceFile(bytes->readString((int)0,bytes->length));
											}
											else  {
												HX_SOURCE_POS("Source/JVM.hx",170)
												return null();
											}
;
;
										}
										return null();
									}
								};
								HX_SOURCE_POS("Source/JVM.hx",139)
								return _Function_3_1::Block(bytes,s,pool);
							}
						}
						;break;
						default: {
							HX_SOURCE_POS("Source/JVM.hx",172)
							return null();
						}
					}
				}
			}
			return null();
		}
	};
	HX_SOURCE_POS("Source/JVM.hx",138)
	return _Function_1_1::Block(bytes,pool,name);
}


STATIC_HX_DEFINE_DYNAMIC_FUNC2(JVM_obj,readAttribute,return )

Dynamic JVM_obj::toNativeValue( ::JValue v){
	HX_SOURCE_PUSH("JVM_obj::toNativeValue")
	HX_SOURCE_POS("Source/JVM.hx",176)
	Dynamic r = null();
	HX_SOURCE_POS("Source/JVM.hx",177)
	{
::JValue _switch_4 = (v);
		switch((_switch_4)->GetIndex()){
			case 0: {
				::JArray v1 = _switch_4->__Param(0);
{
					HX_SOURCE_POS("Source/JVM.hx",178)
					r = ::Lambda_obj::array(::Lambda_obj::map(v1->arr,::JVM_obj::toNativeValue_dyn()));
				}
			}
			;break;
			case 2: {
				Dynamic v1 = _switch_4->__Param(0);
{
					struct _Function_2_1{
						inline static ::String Block( Dynamic &v1){
							{
								HX_SOURCE_POS("Source/JVM.hx",180)
								::Class _switch_5 = (::Type_obj::getClass(v1));
								if (  ( _switch_5==hx::ClassOf< ::JString >())){
									HX_SOURCE_POS("Source/JVM.hx",181)
									return (hx::TCast< JString >::cast(v1))->val;
								}
								else  {
									HX_SOURCE_POS("Source/JVM.hx",182)
									return v1;
								}
;
;
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",179)
					r = _Function_2_1::Block(v1);
				}
			}
			;break;
			case 5: {
				::cpp::CppInt32__ v1 = _switch_4->__Param(0);
{
					HX_SOURCE_POS("Source/JVM.hx",184)
					r = v1;
				}
			}
			;break;
			case 6: {
				::haxe::Int64 v1 = _switch_4->__Param(0);
{
					HX_SOURCE_POS("Source/JVM.hx",185)
					r = v1;
				}
			}
			;break;
			case 7: {
				int v1 = _switch_4->__Param(0);
{
					HX_SOURCE_POS("Source/JVM.hx",186)
					r = v1;
				}
			}
			;break;
			case 10: {
				int v1 = _switch_4->__Param(0);
{
					HX_SOURCE_POS("Source/JVM.hx",187)
					r = v1;
				}
			}
			;break;
			case 3: {
				Float v1 = _switch_4->__Param(0);
{
					HX_SOURCE_POS("Source/JVM.hx",188)
					r = v1;
				}
			}
			;break;
			case 4: {
				Float v1 = _switch_4->__Param(0);
{
					HX_SOURCE_POS("Source/JVM.hx",189)
					r = v1;
				}
			}
			;break;
			case 8: {
				int v1 = _switch_4->__Param(0);
{
					HX_SOURCE_POS("Source/JVM.hx",190)
					r = v1;
				}
			}
			;break;
			case 9: {
				bool v1 = _switch_4->__Param(0);
{
					HX_SOURCE_POS("Source/JVM.hx",191)
					r = v1;
				}
			}
			;break;
			case 1: {
				::JObject v1 = _switch_4->__Param(0);
{
					HX_SOURCE_POS("Source/JVM.hx",192)
					if (((v1->type == HX_CSTRING("String")))){
						HX_SOURCE_POS("Source/JVM.hx",193)
						r = (hx::TCast< JString >::cast(v1))->val;
					}
					else{
						HX_SOURCE_POS("Source/JVM.hx",195)
						r = v1;
					}
				}
			}
			;break;
			case 11: {
				HX_SOURCE_POS("Source/JVM.hx",196)
				hx::ClassOf< ::Void >();
			}
			;break;
		}
	}
	HX_SOURCE_POS("Source/JVM.hx",201)
	return r;
}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(JVM_obj,toNativeValue,return )

Void JVM_obj::runClass( ::String name){
{
		HX_SOURCE_PUSH("JVM_obj::runClass")
		HX_SOURCE_POS("Source/JVM.hx",204)
		::JClass c = ::JVM_obj::classes->get(name);
		HX_SOURCE_POS("Source/JVM.hx",205)
		{
			HX_SOURCE_POS("Source/JVM.hx",205)
			int _g = (int)0;
			Array< ::JMethod > _g1 = c->methods;
			HX_SOURCE_POS("Source/JVM.hx",205)
			while(((_g < _g1->length))){
				HX_SOURCE_POS("Source/JVM.hx",205)
				::JMethod m = _g1->__get(_g);
				HX_SOURCE_POS("Source/JVM.hx",205)
				++(_g);
				struct _Function_3_1{
					inline static ::String Block( ::JClass &c,::JMethod &m){
						{
							HX_SOURCE_POS("Source/JVM.hx",206)
							{
::JConstant _switch_6 = (c->const_pool->__get(m->name_index));
								switch((_switch_6)->GetIndex()){
									case 0: {
										::String s = _switch_6->__Param(0);
{
											HX_SOURCE_POS("Source/JVM.hx",206)
											return s;
										}
									}
									;break;
									default: {
										HX_SOURCE_POS("Source/JVM.hx",206)
										return hx::Throw (HX_CSTRING("Not a string"));
									}
								}
							}
						}
						return null();
					}
				};
				HX_SOURCE_POS("Source/JVM.hx",206)
				::String name1 = _Function_3_1::Block(c,m);
				HX_SOURCE_POS("Source/JVM.hx",207)
				if (((name1 == HX_CSTRING("main")))){
					HX_SOURCE_POS("Source/JVM.hx",208)
					int _g2 = (int)0;
					Array< ::JAttribute > _g3 = m->attributes;
					HX_SOURCE_POS("Source/JVM.hx",208)
					while(((_g2 < _g3->length))){
						HX_SOURCE_POS("Source/JVM.hx",208)
						::JAttribute att = _g3->__get(_g2);
						HX_SOURCE_POS("Source/JVM.hx",208)
						++(_g2);
						HX_SOURCE_POS("Source/JVM.hx",209)
						{
::JAttribute _switch_7 = (att);
							switch((_switch_7)->GetIndex()){
								case 0: {
									::JCode b = _switch_7->__Param(0);
{
										HX_SOURCE_POS("Source/JVM.hx",211)
										::haxe::io::BytesInput bi = ::haxe::io::BytesInput_obj::__new(b->code,null(),null());
										HX_SOURCE_POS("Source/JVM.hx",212)
										::String s = HX_CSTRING("");
										HX_SOURCE_POS("Source/JVM.hx",213)
										try{
											HX_SOURCE_POS("Source/JVM.hx",213)
											while((true)){
												HX_SOURCE_POS("Source/JVM.hx",215)
												::String ms = ::StringTools_obj::hex(bi->readByte(),null());
												HX_SOURCE_POS("Source/JVM.hx",216)
												if (((ms.length < (int)2))){
													HX_SOURCE_POS("Source/JVM.hx",217)
													ms = (HX_CSTRING("0") + ms);
												}
												HX_SOURCE_POS("Source/JVM.hx",218)
												hx::AddEq(s,(ms + HX_CSTRING(" ")));
											}
										}
										catch(Dynamic __e){
											if (__e.IsClass< ::haxe::io::Eof >() ){
												::haxe::io::Eof d = __e;{
													HX_SOURCE_POS("Source/JVM.hx",220)
													bi->close();
												}
											}
											else throw(__e);
										}
										HX_SOURCE_POS("Source/JVM.hx",221)
										::JVM_obj::exec(c,b->code,Dynamic( Array_obj<Dynamic>::__new()));
									}
								}
								;break;
								default: {
								}
							}
						}
					}
				}
			}
		}
	}
return null();
}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(JVM_obj,runClass,(void))

Void JVM_obj::init( ){
{
		HX_SOURCE_PUSH("JVM_obj::init")
		HX_SOURCE_POS("Source/JVM.hx",275)
		::JVM_obj::externs->set(HX_CSTRING("java/lang/StringBuilder"),hx::ClassOf< ::JStringBuilder >());
		HX_SOURCE_POS("Source/JVM.hx",276)
		::JVM_obj::externs->set(HX_CSTRING("java/lang/String"),hx::ClassOf< ::JString >());
		HX_SOURCE_POS("Source/JVM.hx",277)
		::JVM_obj::externs->set(HX_CSTRING("java/io/PrintStream"),hx::ClassOf< ::JPrintStream >());
		HX_SOURCE_POS("Source/JVM.hx",278)
		::JVM_obj::externs->set(HX_CSTRING("java/lang/System"),hx::ClassOf< ::JSystem >());
		HX_SOURCE_POS("Source/JVM.hx",279)
		::JSystem_obj::init();
		HX_SOURCE_POS("Source/JVM.hx",280)
		::JVM_obj::externs->set(HX_CSTRING("java/lang/Object"),hx::ClassOf< ::JObject >());
		HX_SOURCE_POS("Source/JVM.hx",281)
		::JVM_obj::externs->set(HX_CSTRING("java/lang/Runtime"),hx::ClassOf< ::JRuntime >());
	}
return null();
}


STATIC_HX_DEFINE_DYNAMIC_FUNC0(JVM_obj,init,(void))

Void JVM_obj::main( ){
{
		HX_SOURCE_PUSH("JVM_obj::main")
		HX_SOURCE_POS("Source/JVM.hx",284)
		::JVM_obj::init();
		HX_SOURCE_POS("Source/JVM.hx",285)
		::String main = HX_CSTRING("HelloWorld");
		HX_SOURCE_POS("Source/JVM.hx",286)
		::JVM_obj::readClass(::haxe::io::BytesInput_obj::__new(::haxe::Resource_obj::getBytes(HX_CSTRING("class")),null(),null()));
		HX_SOURCE_POS("Source/JVM.hx",287)
		::JVM_obj::runClass(main);
	}
return null();
}


STATIC_HX_DEFINE_DYNAMIC_FUNC0(JVM_obj,main,(void))

::JValue JVM_obj::toValue( ::JConstant c,Array< ::JConstant > pool){
	HX_SOURCE_PUSH("JVM_obj::toValue")
	struct _Function_1_1{
		inline static ::JValue Block( ::JConstant &c,Array< ::JConstant > &pool){
			{
				HX_SOURCE_POS("Source/JVM.hx",290)
				{
::JConstant _switch_8 = (c);
					switch((_switch_8)->GetIndex()){
						case 1: {
							::cpp::CppInt32__ v = _switch_8->__Param(0);
{
								HX_SOURCE_POS("Source/JVM.hx",291)
								return ::JValue_obj::_int(v);
							}
						}
						;break;
						case 2: {
							::haxe::Int64 v = _switch_8->__Param(0);
{
								HX_SOURCE_POS("Source/JVM.hx",292)
								return ::JValue_obj::_long(v);
							}
						}
						;break;
						case 3: {
							Float v = _switch_8->__Param(0);
{
								HX_SOURCE_POS("Source/JVM.hx",293)
								return ::JValue_obj::_float(v);
							}
						}
						;break;
						case 4: {
							Float v = _switch_8->__Param(0);
{
								HX_SOURCE_POS("Source/JVM.hx",294)
								return ::JValue_obj::_double(v);
							}
						}
						;break;
						case 0: {
							::String v = _switch_8->__Param(0);
{
								HX_SOURCE_POS("Source/JVM.hx",295)
								return ::JValue_obj::_exter(::JString_obj::__new(v));
							}
						}
						;break;
						case 6: {
							int v = _switch_8->__Param(0);
{
								HX_SOURCE_POS("Source/JVM.hx",296)
								return ::JVM_obj::toValue(pool->__get(v),pool);
							}
						}
						;break;
						default: {
							HX_SOURCE_POS("Source/JVM.hx",297)
							return hx::Throw (((HX_CSTRING("Cannot turn ") + ::Std_obj::string(c)) + HX_CSTRING(" into value")));
						}
					}
				}
			}
			return null();
		}
	};
	HX_SOURCE_POS("Source/JVM.hx",289)
	return _Function_1_1::Block(c,pool);
}


STATIC_HX_DEFINE_DYNAMIC_FUNC2(JVM_obj,toValue,return )

::JValue JVM_obj::exec( ::JClass c,::haxe::io::Bytes b,Dynamic lvars){
	HX_SOURCE_PUSH("JVM_obj::exec")
	HX_SOURCE_POS("Source/JVM.hx",314)
	Array< ::JValue > stack = Array_obj< ::JValue >::__new();
	HX_SOURCE_POS("Source/JVM.hx",315)
	Array< ::JConstant > pool = c->const_pool;
	HX_SOURCE_POS("Source/JVM.hx",316)
	if (((lvars == null()))){
		HX_SOURCE_POS("Source/JVM.hx",317)
		lvars = Dynamic( Array_obj<Dynamic>::__new());
	}
	HX_SOURCE_POS("Source/JVM.hx",318)
	::haxe::io::BytesInput bi = ::haxe::io::BytesInput_obj::__new(b,null(),null());
	HX_SOURCE_POS("Source/JVM.hx",319)
	int bof = (int)-1;
	HX_SOURCE_POS("Source/JVM.hx",320)
	bi->setEndian(true);
	HX_SOURCE_POS("Source/JVM.hx",321)
	try{
		HX_SOURCE_POS("Source/JVM.hx",321)
		while((true)){
			HX_SOURCE_POS("Source/JVM.hx",323)
			(bof)++;
			HX_SOURCE_POS("Source/JVM.hx",324)
			int byte = bi->readByte();
			HX_SOURCE_POS("Source/JVM.hx",328)
			switch( (int)(byte)){
				case (int)0: {
				}
				;break;
				case (int)1: {
					HX_SOURCE_POS("Source/JVM.hx",333)
					stack->push(::JValue_obj::_object(null()));
				}
				;break;
				case (int)2: {
					HX_SOURCE_POS("Source/JVM.hx",334)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::ofInt((int)-1)));
				}
				;break;
				case (int)3: {
					HX_SOURCE_POS("Source/JVM.hx",335)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::ofInt((int)0)));
				}
				;break;
				case (int)4: {
					HX_SOURCE_POS("Source/JVM.hx",336)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::ofInt((int)1)));
				}
				;break;
				case (int)5: {
					HX_SOURCE_POS("Source/JVM.hx",337)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::ofInt((int)2)));
				}
				;break;
				case (int)6: {
					HX_SOURCE_POS("Source/JVM.hx",338)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::ofInt((int)3)));
				}
				;break;
				case (int)7: {
					HX_SOURCE_POS("Source/JVM.hx",339)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::ofInt((int)4)));
				}
				;break;
				case (int)8: {
					HX_SOURCE_POS("Source/JVM.hx",340)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::ofInt((int)5)));
				}
				;break;
				case (int)9: {
					HX_SOURCE_POS("Source/JVM.hx",341)
					stack->push(::JValue_obj::_long(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::ofInt((int)0),::cpp::CppInt32___obj::ofInt((int)0))));
				}
				;break;
				case (int)10: {
					HX_SOURCE_POS("Source/JVM.hx",342)
					stack->push(::JValue_obj::_long(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::ofInt((int)0),::cpp::CppInt32___obj::ofInt((int)1))));
				}
				;break;
				case (int)11: {
					HX_SOURCE_POS("Source/JVM.hx",343)
					stack->push(::JValue_obj::_float(0.0));
				}
				;break;
				case (int)12: {
					HX_SOURCE_POS("Source/JVM.hx",344)
					stack->push(::JValue_obj::_float(1.0));
				}
				;break;
				case (int)13: {
					HX_SOURCE_POS("Source/JVM.hx",345)
					stack->push(::JValue_obj::_float(2.0));
				}
				;break;
				case (int)14: {
					HX_SOURCE_POS("Source/JVM.hx",346)
					stack->push(::JValue_obj::_double(0.0));
				}
				;break;
				case (int)15: {
					HX_SOURCE_POS("Source/JVM.hx",347)
					stack->push(::JValue_obj::_double(1.0));
				}
				;break;
				case (int)16: {
					HX_SOURCE_POS("Source/JVM.hx",348)
					(bof)++;
					HX_SOURCE_POS("Source/JVM.hx",348)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::ofInt(bi->readByte())));
				}
				;break;
				case (int)17: {
					HX_SOURCE_POS("Source/JVM.hx",349)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/JVM.hx",349)
					stack->push(::JValue_obj::_short(bi->readInt16()));
				}
				;break;
				case (int)18: {
					HX_SOURCE_POS("Source/JVM.hx",351)
					::JConstant v = pool->__get(bi->readByte());
					HX_SOURCE_POS("Source/JVM.hx",352)
					(bof)++;
					HX_SOURCE_POS("Source/JVM.hx",353)
					stack->push(::JVM_obj::toValue(v,pool));
				}
				;break;
				case (int)19: {
					HX_SOURCE_POS("Source/JVM.hx",355)
					::JConstant v = pool->__get(bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",356)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/JVM.hx",357)
					stack->push(::JVM_obj::toValue(v,pool));
				}
				;break;
				case (int)20: {
					HX_SOURCE_POS("Source/JVM.hx",359)
					::JConstant v = pool->__get(bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",360)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/JVM.hx",361)
					stack->push(::JVM_obj::toValue(v,pool));
				}
				;break;
				case (int)21: {
					HX_SOURCE_POS("Source/JVM.hx",362)
					stack->push(lvars->__GetItem(bi->readByte()));
					HX_SOURCE_POS("Source/JVM.hx",362)
					(bof)++;
				}
				;break;
				case (int)22: {
					HX_SOURCE_POS("Source/JVM.hx",363)
					stack->push(lvars->__GetItem(bi->readByte()));
					HX_SOURCE_POS("Source/JVM.hx",363)
					(bof)++;
				}
				;break;
				case (int)23: {
					HX_SOURCE_POS("Source/JVM.hx",364)
					stack->push(lvars->__GetItem(bi->readByte()));
					HX_SOURCE_POS("Source/JVM.hx",364)
					(bof)++;
				}
				;break;
				case (int)24: {
					HX_SOURCE_POS("Source/JVM.hx",365)
					stack->push(lvars->__GetItem(bi->readByte()));
					HX_SOURCE_POS("Source/JVM.hx",365)
					(bof)++;
				}
				;break;
				case (int)25: {
					HX_SOURCE_POS("Source/JVM.hx",366)
					stack->push(lvars->__GetItem(bi->readByte()));
					HX_SOURCE_POS("Source/JVM.hx",366)
					(bof)++;
				}
				;break;
				case (int)26: {
					HX_SOURCE_POS("Source/JVM.hx",367)
					stack->push(lvars->__GetItem((int)0));
				}
				;break;
				case (int)27: {
					HX_SOURCE_POS("Source/JVM.hx",368)
					stack->push(lvars->__GetItem((int)1));
				}
				;break;
				case (int)28: {
					HX_SOURCE_POS("Source/JVM.hx",369)
					stack->push(lvars->__GetItem((int)2));
				}
				;break;
				case (int)29: {
					HX_SOURCE_POS("Source/JVM.hx",370)
					stack->push(lvars->__GetItem((int)3));
				}
				;break;
				case (int)30: {
					HX_SOURCE_POS("Source/JVM.hx",371)
					stack->push(lvars->__GetItem((int)0));
				}
				;break;
				case (int)31: {
					HX_SOURCE_POS("Source/JVM.hx",372)
					stack->push(lvars->__GetItem((int)1));
				}
				;break;
				case (int)32: {
					HX_SOURCE_POS("Source/JVM.hx",373)
					stack->push(lvars->__GetItem((int)2));
				}
				;break;
				case (int)33: {
					HX_SOURCE_POS("Source/JVM.hx",374)
					stack->push(lvars->__GetItem((int)3));
				}
				;break;
				case (int)34: {
					HX_SOURCE_POS("Source/JVM.hx",375)
					stack->push(lvars->__GetItem((int)0));
				}
				;break;
				case (int)35: {
					HX_SOURCE_POS("Source/JVM.hx",376)
					stack->push(lvars->__GetItem((int)1));
				}
				;break;
				case (int)36: {
					HX_SOURCE_POS("Source/JVM.hx",377)
					stack->push(lvars->__GetItem((int)2));
				}
				;break;
				case (int)37: {
					HX_SOURCE_POS("Source/JVM.hx",378)
					stack->push(lvars->__GetItem((int)3));
				}
				;break;
				case (int)38: {
					HX_SOURCE_POS("Source/JVM.hx",379)
					stack->push(lvars->__GetItem((int)0));
				}
				;break;
				case (int)39: {
					HX_SOURCE_POS("Source/JVM.hx",380)
					stack->push(lvars->__GetItem((int)1));
				}
				;break;
				case (int)40: {
					HX_SOURCE_POS("Source/JVM.hx",381)
					stack->push(lvars->__GetItem((int)2));
				}
				;break;
				case (int)41: {
					HX_SOURCE_POS("Source/JVM.hx",382)
					stack->push(lvars->__GetItem((int)3));
				}
				;break;
				case (int)42: {
					HX_SOURCE_POS("Source/JVM.hx",383)
					stack->push(lvars->__GetItem((int)0));
				}
				;break;
				case (int)43: {
					HX_SOURCE_POS("Source/JVM.hx",384)
					stack->push(lvars->__GetItem((int)1));
				}
				;break;
				case (int)44: {
					HX_SOURCE_POS("Source/JVM.hx",385)
					stack->push(lvars->__GetItem((int)2));
				}
				;break;
				case (int)45: {
					HX_SOURCE_POS("Source/JVM.hx",386)
					stack->push(lvars->__GetItem((int)3));
				}
				;break;
				case (int)46: {
					HX_SOURCE_POS("Source/JVM.hx",388)
					int ind = ::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()));
					struct _Function_4_1{
						inline static Array< ::JValue > Block( Array< ::JValue > &stack){
							{
								HX_SOURCE_POS("Source/JVM.hx",389)
								{
::JValue _switch_9 = (stack->pop());
									switch((_switch_9)->GetIndex()){
										case 0: {
											::JArray a = _switch_9->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",390)
												return a->arr;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",391)
											return hx::Throw (HX_CSTRING("Not an array"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",389)
					Array< ::JValue > arr = _Function_4_1::Block(stack);
					HX_SOURCE_POS("Source/JVM.hx",396)
					stack->push(arr->__get(ind));
				}
				;break;
				case (int)48: {
					HX_SOURCE_POS("Source/JVM.hx",398)
					int ind = ::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()));
					struct _Function_4_1{
						inline static Array< ::JValue > Block( Array< ::JValue > &stack){
							{
								HX_SOURCE_POS("Source/JVM.hx",399)
								{
::JValue _switch_10 = (stack->pop());
									switch((_switch_10)->GetIndex()){
										case 0: {
											::JArray a = _switch_10->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",400)
												return a->arr;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",401)
											return hx::Throw (HX_CSTRING("Not an array"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",399)
					Array< ::JValue > arr = _Function_4_1::Block(stack);
					HX_SOURCE_POS("Source/JVM.hx",406)
					stack->push(arr->__get(ind));
				}
				;break;
				case (int)49: {
					HX_SOURCE_POS("Source/JVM.hx",408)
					int ind = ::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()));
					struct _Function_4_1{
						inline static Array< ::JValue > Block( Array< ::JValue > &stack){
							{
								HX_SOURCE_POS("Source/JVM.hx",409)
								{
::JValue _switch_11 = (stack->pop());
									switch((_switch_11)->GetIndex()){
										case 0: {
											::JArray a = _switch_11->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",410)
												return a->arr;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",411)
											return hx::Throw (HX_CSTRING("Not an array"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",409)
					Array< ::JValue > arr = _Function_4_1::Block(stack);
					HX_SOURCE_POS("Source/JVM.hx",416)
					stack->push(arr->__get(ind));
				}
				;break;
				case (int)50: {
					HX_SOURCE_POS("Source/JVM.hx",418)
					int ind = ::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()));
					struct _Function_4_1{
						inline static Array< ::JValue > Block( Array< ::JValue > &stack){
							{
								HX_SOURCE_POS("Source/JVM.hx",419)
								{
::JValue _switch_12 = (stack->pop());
									switch((_switch_12)->GetIndex()){
										case 0: {
											::JArray a = _switch_12->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",420)
												return a->arr;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",421)
											return hx::Throw (HX_CSTRING("Not an array"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",419)
					Array< ::JValue > arr = _Function_4_1::Block(stack);
					HX_SOURCE_POS("Source/JVM.hx",426)
					stack->push(arr->__get(ind));
				}
				;break;
				case (int)51: {
					HX_SOURCE_POS("Source/JVM.hx",428)
					int ind = ::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()));
					struct _Function_4_1{
						inline static Array< ::JValue > Block( Array< ::JValue > &stack){
							{
								HX_SOURCE_POS("Source/JVM.hx",429)
								{
::JValue _switch_13 = (stack->pop());
									switch((_switch_13)->GetIndex()){
										case 0: {
											::JArray a = _switch_13->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",430)
												return a->arr;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",431)
											return hx::Throw (HX_CSTRING("Not an array"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",429)
					Array< ::JValue > arr = _Function_4_1::Block(stack);
					HX_SOURCE_POS("Source/JVM.hx",436)
					stack->push(arr->__get(ind));
				}
				;break;
				case (int)52: {
					HX_SOURCE_POS("Source/JVM.hx",438)
					int ind = ::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()));
					struct _Function_4_1{
						inline static Array< ::JValue > Block( Array< ::JValue > &stack){
							{
								HX_SOURCE_POS("Source/JVM.hx",439)
								{
::JValue _switch_14 = (stack->pop());
									switch((_switch_14)->GetIndex()){
										case 0: {
											::JArray a = _switch_14->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",440)
												return a->arr;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",441)
											return hx::Throw (HX_CSTRING("Not an array"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",439)
					Array< ::JValue > arr = _Function_4_1::Block(stack);
					HX_SOURCE_POS("Source/JVM.hx",446)
					stack->push(arr->__get(ind));
				}
				;break;
				case (int)53: {
					HX_SOURCE_POS("Source/JVM.hx",448)
					int ind = ::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()));
					struct _Function_4_1{
						inline static Array< ::JValue > Block( Array< ::JValue > &stack){
							{
								HX_SOURCE_POS("Source/JVM.hx",449)
								{
::JValue _switch_15 = (stack->pop());
									switch((_switch_15)->GetIndex()){
										case 0: {
											::JArray a = _switch_15->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",450)
												return a->arr;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",451)
											return hx::Throw (HX_CSTRING("Not an array"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",449)
					Array< ::JValue > arr = _Function_4_1::Block(stack);
					HX_SOURCE_POS("Source/JVM.hx",456)
					stack->push(arr->__get(ind));
				}
				;break;
				case (int)54: {
					HX_SOURCE_POS("Source/JVM.hx",458)
					hx::IndexRef((lvars).mPtr,bi->readByte()) = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",458)
					(bof)++;
				}
				;break;
				case (int)55: {
					HX_SOURCE_POS("Source/JVM.hx",460)
					hx::IndexRef((lvars).mPtr,bi->readByte()) = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",460)
					(bof)++;
				}
				;break;
				case (int)56: {
					HX_SOURCE_POS("Source/JVM.hx",462)
					hx::IndexRef((lvars).mPtr,bi->readByte()) = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",462)
					(bof)++;
				}
				;break;
				case (int)57: {
					HX_SOURCE_POS("Source/JVM.hx",464)
					hx::IndexRef((lvars).mPtr,bi->readByte()) = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",464)
					(bof)++;
				}
				;break;
				case (int)58: {
					HX_SOURCE_POS("Source/JVM.hx",466)
					hx::IndexRef((lvars).mPtr,bi->readByte()) = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",466)
					(bof)++;
				}
				;break;
				case (int)59: {
					HX_SOURCE_POS("Source/JVM.hx",467)
					hx::IndexRef((lvars).mPtr,(int)0) = stack->pop();
				}
				;break;
				case (int)60: {
					HX_SOURCE_POS("Source/JVM.hx",469)
					hx::IndexRef((lvars).mPtr,(int)1) = stack->pop();
				}
				;break;
				case (int)61: {
					HX_SOURCE_POS("Source/JVM.hx",471)
					hx::IndexRef((lvars).mPtr,(int)2) = stack->pop();
				}
				;break;
				case (int)62: {
					HX_SOURCE_POS("Source/JVM.hx",473)
					hx::IndexRef((lvars).mPtr,(int)3) = stack->pop();
				}
				;break;
				case (int)63: {
					HX_SOURCE_POS("Source/JVM.hx",475)
					hx::IndexRef((lvars).mPtr,(int)0) = stack->pop();
				}
				;break;
				case (int)64: {
					HX_SOURCE_POS("Source/JVM.hx",477)
					hx::IndexRef((lvars).mPtr,(int)1) = stack->pop();
				}
				;break;
				case (int)65: {
					HX_SOURCE_POS("Source/JVM.hx",479)
					hx::IndexRef((lvars).mPtr,(int)2) = stack->pop();
				}
				;break;
				case (int)66: {
					HX_SOURCE_POS("Source/JVM.hx",481)
					hx::IndexRef((lvars).mPtr,(int)3) = stack->pop();
				}
				;break;
				case (int)67: {
					HX_SOURCE_POS("Source/JVM.hx",483)
					hx::IndexRef((lvars).mPtr,(int)0) = stack->pop();
				}
				;break;
				case (int)68: {
					HX_SOURCE_POS("Source/JVM.hx",485)
					hx::IndexRef((lvars).mPtr,(int)1) = stack->pop();
				}
				;break;
				case (int)69: {
					HX_SOURCE_POS("Source/JVM.hx",487)
					hx::IndexRef((lvars).mPtr,(int)2) = stack->pop();
				}
				;break;
				case (int)70: {
					HX_SOURCE_POS("Source/JVM.hx",489)
					hx::IndexRef((lvars).mPtr,(int)3) = stack->pop();
				}
				;break;
				case (int)71: {
					HX_SOURCE_POS("Source/JVM.hx",491)
					hx::IndexRef((lvars).mPtr,(int)0) = stack->pop();
				}
				;break;
				case (int)72: {
					HX_SOURCE_POS("Source/JVM.hx",493)
					hx::IndexRef((lvars).mPtr,(int)1) = stack->pop();
				}
				;break;
				case (int)73: {
					HX_SOURCE_POS("Source/JVM.hx",495)
					hx::IndexRef((lvars).mPtr,(int)2) = stack->pop();
				}
				;break;
				case (int)74: {
					HX_SOURCE_POS("Source/JVM.hx",497)
					hx::IndexRef((lvars).mPtr,(int)3) = stack->pop();
				}
				;break;
				case (int)75: {
					HX_SOURCE_POS("Source/JVM.hx",499)
					hx::IndexRef((lvars).mPtr,(int)0) = stack->pop();
				}
				;break;
				case (int)76: {
					HX_SOURCE_POS("Source/JVM.hx",500)
					hx::IndexRef((lvars).mPtr,(int)1) = stack->pop();
				}
				;break;
				case (int)77: {
					HX_SOURCE_POS("Source/JVM.hx",501)
					hx::IndexRef((lvars).mPtr,(int)2) = stack->pop();
				}
				;break;
				case (int)78: {
					HX_SOURCE_POS("Source/JVM.hx",502)
					hx::IndexRef((lvars).mPtr,(int)3) = stack->pop();
				}
				;break;
				case (int)79: {
					HX_SOURCE_POS("Source/JVM.hx",504)
					::JValue val = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",505)
					int ind = ::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()));
					HX_SOURCE_POS("Source/JVM.hx",506)
					::JValue arr = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",510)
					{
::JValue _switch_16 = (arr);
						switch((_switch_16)->GetIndex()){
							case 0: {
								::JArray a = _switch_16->__Param(0);
{
									HX_SOURCE_POS("Source/JVM.hx",511)
									a->arr[ind] = val;
								}
							}
							;break;
							default: {
								HX_SOURCE_POS("Source/JVM.hx",512)
								hx::Throw (HX_CSTRING("Not an array"));
							}
						}
					}
				}
				;break;
				case (int)80: {
					HX_SOURCE_POS("Source/JVM.hx",515)
					::JValue val = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",516)
					int ind = ::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()));
					HX_SOURCE_POS("Source/JVM.hx",517)
					::JValue arr = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",521)
					{
::JValue _switch_17 = (arr);
						switch((_switch_17)->GetIndex()){
							case 0: {
								::JArray a = _switch_17->__Param(0);
{
									HX_SOURCE_POS("Source/JVM.hx",522)
									a->arr[ind] = val;
								}
							}
							;break;
							default: {
								HX_SOURCE_POS("Source/JVM.hx",523)
								hx::Throw (HX_CSTRING("Not an array"));
							}
						}
					}
				}
				;break;
				case (int)81: {
					HX_SOURCE_POS("Source/JVM.hx",526)
					::JValue val = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",527)
					int ind = ::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()));
					HX_SOURCE_POS("Source/JVM.hx",528)
					::JValue arr = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",533)
					{
::JValue _switch_18 = (arr);
						switch((_switch_18)->GetIndex()){
							case 0: {
								::JArray a = _switch_18->__Param(0);
{
									HX_SOURCE_POS("Source/JVM.hx",534)
									a->arr[ind] = val;
								}
							}
							;break;
							default: {
								HX_SOURCE_POS("Source/JVM.hx",535)
								hx::Throw (HX_CSTRING("Not an array"));
							}
						}
					}
				}
				;break;
				case (int)82: {
					HX_SOURCE_POS("Source/JVM.hx",538)
					::JValue val = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",539)
					int ind = ::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()));
					HX_SOURCE_POS("Source/JVM.hx",540)
					::JValue arr = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",544)
					{
::JValue _switch_19 = (arr);
						switch((_switch_19)->GetIndex()){
							case 0: {
								::JArray a = _switch_19->__Param(0);
{
									HX_SOURCE_POS("Source/JVM.hx",545)
									a->arr[ind] = val;
								}
							}
							;break;
							default: {
								HX_SOURCE_POS("Source/JVM.hx",546)
								hx::Throw (HX_CSTRING("Not an array"));
							}
						}
					}
				}
				;break;
				case (int)83: {
					HX_SOURCE_POS("Source/JVM.hx",549)
					::JValue val = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",550)
					int ind = ::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()));
					HX_SOURCE_POS("Source/JVM.hx",551)
					::JValue arr = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",555)
					{
::JValue _switch_20 = (arr);
						switch((_switch_20)->GetIndex()){
							case 0: {
								::JArray a = _switch_20->__Param(0);
{
									HX_SOURCE_POS("Source/JVM.hx",556)
									a->arr[ind] = val;
								}
							}
							;break;
							default: {
								HX_SOURCE_POS("Source/JVM.hx",557)
								hx::Throw (HX_CSTRING("Not an array"));
							}
						}
					}
				}
				;break;
				case (int)84: {
					HX_SOURCE_POS("Source/JVM.hx",560)
					::JValue val = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",561)
					int ind = ::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()));
					HX_SOURCE_POS("Source/JVM.hx",562)
					hx::IndexRef((::JVM_obj::toNativeValue(stack->pop())).mPtr,ind) = val;
				}
				;break;
				case (int)85: {
					HX_SOURCE_POS("Source/JVM.hx",564)
					::JValue val = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",565)
					int ind = ::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()));
					HX_SOURCE_POS("Source/JVM.hx",566)
					hx::IndexRef((::JVM_obj::toNativeValue(stack->pop())).mPtr,ind) = val;
				}
				;break;
				case (int)86: {
					HX_SOURCE_POS("Source/JVM.hx",568)
					::JValue val = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",569)
					int ind = ::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()));
					HX_SOURCE_POS("Source/JVM.hx",570)
					hx::IndexRef((::JVM_obj::toNativeValue(stack->pop())).mPtr,ind) = val;
				}
				;break;
				case (int)87: {
					HX_SOURCE_POS("Source/JVM.hx",571)
					stack->pop();
				}
				;break;
				case (int)88: {
					HX_SOURCE_POS("Source/JVM.hx",573)
					::JValue v = stack->pop();
					struct _Function_4_1{
						inline static ::JValue Block( ::JValue &v){
							{
								HX_SOURCE_POS("Source/JVM.hx",574)
								{
::JValue _switch_21 = (v);
									switch((_switch_21)->GetIndex()){
										case 1: {
											::JObject o = _switch_21->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",574)
												return ::JValue_obj::_object(o);
											}
										}
										;break;
										case 0: {
											::JArray c1 = _switch_21->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",574)
												return ::JValue_obj::_array(c1);
											}
										}
										;break;
										case 2: {
											Dynamic o = _switch_21->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",574)
												return ::JValue_obj::_exter(o);
											}
										}
										;break;
										case 11: {
											HX_SOURCE_POS("Source/JVM.hx",574)
											return ::JValue_obj::_void_dyn();
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",574)
											return ::JVM_obj::fromNativeValue(::Type_obj::enumParameters(v)->__GetItem((int)0));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",574)
					stack->push(_Function_4_1::Block(v));
					HX_SOURCE_POS("Source/JVM.hx",575)
					stack->push(v);
				}
				;break;
				case (int)89: {
					HX_SOURCE_POS("Source/JVM.hx",577)
					::JValue v = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",578)
					stack->push(v);
					struct _Function_4_1{
						inline static ::JValue Block( ::JValue &v){
							{
								HX_SOURCE_POS("Source/JVM.hx",579)
								{
::JValue _switch_22 = (v);
									switch((_switch_22)->GetIndex()){
										case 1: {
											::JObject o = _switch_22->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",579)
												return ::JValue_obj::_object(o);
											}
										}
										;break;
										case 0: {
											::JArray c1 = _switch_22->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",579)
												return ::JValue_obj::_array(c1);
											}
										}
										;break;
										case 2: {
											Dynamic o = _switch_22->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",579)
												return ::JValue_obj::_exter(o);
											}
										}
										;break;
										case 11: {
											HX_SOURCE_POS("Source/JVM.hx",579)
											return ::JValue_obj::_void_dyn();
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",579)
											return ::JVM_obj::fromNativeValue(::Type_obj::enumParameters(v)->__GetItem((int)0));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",579)
					stack->push(_Function_4_1::Block(v));
				}
				;break;
				case (int)90: {
					HX_SOURCE_POS("Source/JVM.hx",581)
					::JValue top = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",582)
					::JValue middle = stack->pop();
					struct _Function_4_1{
						inline static ::JValue Block( ::JValue &top){
							{
								HX_SOURCE_POS("Source/JVM.hx",583)
								{
::JValue _switch_23 = (top);
									switch((_switch_23)->GetIndex()){
										case 1: {
											::JObject o = _switch_23->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",583)
												return ::JValue_obj::_object(o);
											}
										}
										;break;
										case 0: {
											::JArray c1 = _switch_23->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",583)
												return ::JValue_obj::_array(c1);
											}
										}
										;break;
										case 2: {
											Dynamic o = _switch_23->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",583)
												return ::JValue_obj::_exter(o);
											}
										}
										;break;
										case 11: {
											HX_SOURCE_POS("Source/JVM.hx",583)
											return ::JValue_obj::_void_dyn();
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",583)
											return ::JVM_obj::fromNativeValue(::Type_obj::enumParameters(top)->__GetItem((int)0));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",583)
					stack->push(_Function_4_1::Block(top));
					HX_SOURCE_POS("Source/JVM.hx",584)
					stack->push(middle);
					HX_SOURCE_POS("Source/JVM.hx",585)
					stack->push(top);
				}
				;break;
				case (int)91: {
					HX_SOURCE_POS("Source/JVM.hx",587)
					::JValue top = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",588)
					::JValue middle = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",589)
					::JValue btm = null();
					struct _Function_4_1{
						inline static bool Block( ::JValue &top){
							{
								HX_SOURCE_POS("Source/JVM.hx",590)
								{
::JValue _switch_24 = (top);
									switch((_switch_24)->GetIndex()){
										case 6: {
											::haxe::Int64 v = _switch_24->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",590)
												return true;
											}
										}
										;break;
										case 4: {
											Float v = _switch_24->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",590)
												return true;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",590)
											return false;
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",590)
					if ((!(_Function_4_1::Block(top)))){
						HX_SOURCE_POS("Source/JVM.hx",591)
						btm = stack->pop();
					}
					struct _Function_4_2{
						inline static ::JValue Block( ::JValue &top){
							{
								HX_SOURCE_POS("Source/JVM.hx",592)
								{
::JValue _switch_25 = (top);
									switch((_switch_25)->GetIndex()){
										case 1: {
											::JObject o = _switch_25->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",592)
												return ::JValue_obj::_object(o);
											}
										}
										;break;
										case 0: {
											::JArray c1 = _switch_25->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",592)
												return ::JValue_obj::_array(c1);
											}
										}
										;break;
										case 2: {
											Dynamic o = _switch_25->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",592)
												return ::JValue_obj::_exter(o);
											}
										}
										;break;
										case 11: {
											HX_SOURCE_POS("Source/JVM.hx",592)
											return ::JValue_obj::_void_dyn();
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",592)
											return ::JVM_obj::fromNativeValue(::Type_obj::enumParameters(top)->__GetItem((int)0));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",592)
					stack->push(_Function_4_2::Block(top));
					HX_SOURCE_POS("Source/JVM.hx",593)
					if (((btm != null()))){
						HX_SOURCE_POS("Source/JVM.hx",594)
						stack->push(btm);
					}
					HX_SOURCE_POS("Source/JVM.hx",595)
					stack->push(middle);
					HX_SOURCE_POS("Source/JVM.hx",596)
					stack->push(top);
				}
				;break;
				case (int)92: {
					HX_SOURCE_POS("Source/JVM.hx",598)
					::JValue top = stack->pop();
					struct _Function_4_1{
						inline static bool Block( ::JValue &top){
							{
								HX_SOURCE_POS("Source/JVM.hx",599)
								{
::JValue _switch_26 = (top);
									switch((_switch_26)->GetIndex()){
										case 6: {
											::haxe::Int64 v = _switch_26->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",599)
												return true;
											}
										}
										;break;
										case 4: {
											Float v = _switch_26->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",599)
												return true;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",599)
											return false;
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",599)
					if ((_Function_4_1::Block(top))){
						struct _Function_5_1{
							inline static ::JValue Block( ::JValue &top){
								{
									HX_SOURCE_POS("Source/JVM.hx",600)
									{
::JValue _switch_27 = (top);
										switch((_switch_27)->GetIndex()){
											case 1: {
												::JObject o = _switch_27->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",600)
													return ::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::JArray c1 = _switch_27->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",600)
													return ::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_27->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",600)
													return ::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/JVM.hx",600)
												return ::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/JVM.hx",600)
												return ::JVM_obj::fromNativeValue(::Type_obj::enumParameters(top)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/JVM.hx",600)
						stack->push(_Function_5_1::Block(top));
						HX_SOURCE_POS("Source/JVM.hx",601)
						stack->push(top);
					}
					else{
						HX_SOURCE_POS("Source/JVM.hx",603)
						::JValue mid = stack->pop();
						struct _Function_5_1{
							inline static ::JValue Block( ::JValue &top){
								{
									HX_SOURCE_POS("Source/JVM.hx",604)
									{
::JValue _switch_28 = (top);
										switch((_switch_28)->GetIndex()){
											case 1: {
												::JObject o = _switch_28->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",604)
													return ::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::JArray c1 = _switch_28->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",604)
													return ::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_28->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",604)
													return ::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/JVM.hx",604)
												return ::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/JVM.hx",604)
												return ::JVM_obj::fromNativeValue(::Type_obj::enumParameters(top)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/JVM.hx",604)
						stack->push(_Function_5_1::Block(top));
						struct _Function_5_2{
							inline static ::JValue Block( ::JValue &mid){
								{
									HX_SOURCE_POS("Source/JVM.hx",605)
									{
::JValue _switch_29 = (mid);
										switch((_switch_29)->GetIndex()){
											case 1: {
												::JObject o = _switch_29->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",605)
													return ::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::JArray c1 = _switch_29->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",605)
													return ::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_29->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",605)
													return ::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/JVM.hx",605)
												return ::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/JVM.hx",605)
												return ::JVM_obj::fromNativeValue(::Type_obj::enumParameters(mid)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/JVM.hx",605)
						stack->push(_Function_5_2::Block(mid));
						struct _Function_5_3{
							inline static ::JValue Block( ::JValue &top){
								{
									HX_SOURCE_POS("Source/JVM.hx",606)
									{
::JValue _switch_30 = (top);
										switch((_switch_30)->GetIndex()){
											case 1: {
												::JObject o = _switch_30->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",606)
													return ::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::JArray c1 = _switch_30->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",606)
													return ::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_30->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",606)
													return ::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/JVM.hx",606)
												return ::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/JVM.hx",606)
												return ::JVM_obj::fromNativeValue(::Type_obj::enumParameters(top)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/JVM.hx",606)
						stack->push(_Function_5_3::Block(top));
					}
				}
				;break;
				case (int)93: {
					HX_SOURCE_POS("Source/JVM.hx",609)
					::JValue top = stack->pop();
					struct _Function_4_1{
						inline static bool Block( ::JValue &top){
							{
								HX_SOURCE_POS("Source/JVM.hx",610)
								{
::JValue _switch_31 = (top);
									switch((_switch_31)->GetIndex()){
										case 6: {
											::haxe::Int64 v = _switch_31->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",610)
												return true;
											}
										}
										;break;
										case 4: {
											Float v = _switch_31->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",610)
												return true;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",610)
											return false;
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",610)
					::JValue mid = (  ((_Function_4_1::Block(top))) ? ::JValue(null()) : ::JValue(stack->pop()) );
					HX_SOURCE_POS("Source/JVM.hx",611)
					::JValue btm = stack->pop();
					struct _Function_4_2{
						inline static bool Block( ::JValue &btm){
							{
								HX_SOURCE_POS("Source/JVM.hx",612)
								{
::JValue _switch_32 = (btm);
									switch((_switch_32)->GetIndex()){
										case 6: {
											::haxe::Int64 v = _switch_32->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",612)
												return true;
											}
										}
										;break;
										case 4: {
											Float v = _switch_32->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",612)
												return true;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",612)
											return false;
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",612)
					::JValue btm2 = (  ((_Function_4_2::Block(btm))) ? ::JValue(null()) : ::JValue(stack->pop()) );
					HX_SOURCE_POS("Source/JVM.hx",613)
					if (((mid == null()))){
						struct _Function_5_1{
							inline static ::JValue Block( ::JValue &top){
								{
									HX_SOURCE_POS("Source/JVM.hx",614)
									{
::JValue _switch_33 = (top);
										switch((_switch_33)->GetIndex()){
											case 1: {
												::JObject o = _switch_33->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",614)
													return ::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::JArray c1 = _switch_33->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",614)
													return ::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_33->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",614)
													return ::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/JVM.hx",614)
												return ::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/JVM.hx",614)
												return ::JVM_obj::fromNativeValue(::Type_obj::enumParameters(top)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/JVM.hx",614)
						stack->push(_Function_5_1::Block(top));
						HX_SOURCE_POS("Source/JVM.hx",615)
						stack->push(btm);
						HX_SOURCE_POS("Source/JVM.hx",616)
						stack->push(top);
					}
					else{
						struct _Function_5_1{
							inline static ::JValue Block( ::JValue &mid){
								{
									HX_SOURCE_POS("Source/JVM.hx",618)
									{
::JValue _switch_34 = (mid);
										switch((_switch_34)->GetIndex()){
											case 1: {
												::JObject o = _switch_34->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",618)
													return ::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::JArray c1 = _switch_34->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",618)
													return ::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_34->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",618)
													return ::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/JVM.hx",618)
												return ::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/JVM.hx",618)
												return ::JVM_obj::fromNativeValue(::Type_obj::enumParameters(mid)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/JVM.hx",618)
						stack->push(_Function_5_1::Block(mid));
						struct _Function_5_2{
							inline static ::JValue Block( ::JValue &top){
								{
									HX_SOURCE_POS("Source/JVM.hx",619)
									{
::JValue _switch_35 = (top);
										switch((_switch_35)->GetIndex()){
											case 1: {
												::JObject o = _switch_35->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",619)
													return ::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::JArray c1 = _switch_35->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",619)
													return ::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_35->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",619)
													return ::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/JVM.hx",619)
												return ::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/JVM.hx",619)
												return ::JVM_obj::fromNativeValue(::Type_obj::enumParameters(top)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/JVM.hx",619)
						stack->push(_Function_5_2::Block(top));
						HX_SOURCE_POS("Source/JVM.hx",620)
						stack->push(btm);
						HX_SOURCE_POS("Source/JVM.hx",621)
						stack->push(mid);
						HX_SOURCE_POS("Source/JVM.hx",622)
						stack->push(top);
					}
				}
				;break;
				case (int)94: {
					HX_SOURCE_POS("Source/JVM.hx",625)
					::JValue top = stack->pop();
					struct _Function_4_1{
						inline static bool Block( ::JValue &top){
							{
								HX_SOURCE_POS("Source/JVM.hx",626)
								{
::JValue _switch_36 = (top);
									switch((_switch_36)->GetIndex()){
										case 6: {
											::haxe::Int64 v = _switch_36->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",626)
												return true;
											}
										}
										;break;
										case 4: {
											Float v = _switch_36->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",626)
												return true;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",626)
											return false;
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",626)
					::JValue mid = (  ((_Function_4_1::Block(top))) ? ::JValue(null()) : ::JValue(stack->pop()) );
					HX_SOURCE_POS("Source/JVM.hx",627)
					::JValue mid2 = stack->pop();
					struct _Function_4_2{
						inline static bool Block( ::JValue &mid2){
							{
								HX_SOURCE_POS("Source/JVM.hx",628)
								{
::JValue _switch_37 = (mid2);
									switch((_switch_37)->GetIndex()){
										case 6: {
											::haxe::Int64 v = _switch_37->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",628)
												return true;
											}
										}
										;break;
										case 4: {
											Float v = _switch_37->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",628)
												return true;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",628)
											return false;
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",628)
					::JValue mid3 = (  ((_Function_4_2::Block(mid2))) ? ::JValue(null()) : ::JValue(stack->pop()) );
					HX_SOURCE_POS("Source/JVM.hx",629)
					::JValue btm = stack->pop();
					struct _Function_4_3{
						inline static bool Block( ::JValue &btm){
							{
								HX_SOURCE_POS("Source/JVM.hx",630)
								{
::JValue _switch_38 = (btm);
									switch((_switch_38)->GetIndex()){
										case 6: {
											::haxe::Int64 v = _switch_38->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",630)
												return true;
											}
										}
										;break;
										case 4: {
											Float v = _switch_38->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",630)
												return true;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",630)
											return false;
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",630)
					::JValue btm2 = (  ((_Function_4_3::Block(btm))) ? ::JValue(null()) : ::JValue(stack->pop()) );
					HX_SOURCE_POS("Source/JVM.hx",631)
					if (((mid == null()))){
						struct _Function_5_1{
							inline static ::JValue Block( ::JValue &top){
								{
									HX_SOURCE_POS("Source/JVM.hx",632)
									{
::JValue _switch_39 = (top);
										switch((_switch_39)->GetIndex()){
											case 1: {
												::JObject o = _switch_39->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",632)
													return ::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::JArray c1 = _switch_39->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",632)
													return ::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_39->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",632)
													return ::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/JVM.hx",632)
												return ::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/JVM.hx",632)
												return ::JVM_obj::fromNativeValue(::Type_obj::enumParameters(top)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/JVM.hx",632)
						stack->push(_Function_5_1::Block(top));
						HX_SOURCE_POS("Source/JVM.hx",633)
						if (((mid3 != null()))){
							HX_SOURCE_POS("Source/JVM.hx",634)
							stack->push(mid3);
						}
						HX_SOURCE_POS("Source/JVM.hx",635)
						stack->push(mid2);
						HX_SOURCE_POS("Source/JVM.hx",636)
						stack->push(top);
					}
					else{
						struct _Function_5_1{
							inline static ::JValue Block( ::JValue &mid){
								{
									HX_SOURCE_POS("Source/JVM.hx",638)
									{
::JValue _switch_40 = (mid);
										switch((_switch_40)->GetIndex()){
											case 1: {
												::JObject o = _switch_40->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",638)
													return ::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::JArray c1 = _switch_40->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",638)
													return ::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_40->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",638)
													return ::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/JVM.hx",638)
												return ::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/JVM.hx",638)
												return ::JVM_obj::fromNativeValue(::Type_obj::enumParameters(mid)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/JVM.hx",638)
						stack->push(_Function_5_1::Block(mid));
						struct _Function_5_2{
							inline static ::JValue Block( ::JValue &top){
								{
									HX_SOURCE_POS("Source/JVM.hx",639)
									{
::JValue _switch_41 = (top);
										switch((_switch_41)->GetIndex()){
											case 1: {
												::JObject o = _switch_41->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",639)
													return ::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::JArray c1 = _switch_41->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",639)
													return ::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_41->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",639)
													return ::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/JVM.hx",639)
												return ::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/JVM.hx",639)
												return ::JVM_obj::fromNativeValue(::Type_obj::enumParameters(top)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/JVM.hx",639)
						stack->push(_Function_5_2::Block(top));
						HX_SOURCE_POS("Source/JVM.hx",640)
						stack->push(btm);
						HX_SOURCE_POS("Source/JVM.hx",641)
						if (((mid3 != null()))){
							HX_SOURCE_POS("Source/JVM.hx",642)
							stack->push(mid3);
						}
						HX_SOURCE_POS("Source/JVM.hx",643)
						stack->push(mid2);
						HX_SOURCE_POS("Source/JVM.hx",644)
						stack->push(mid);
						HX_SOURCE_POS("Source/JVM.hx",645)
						stack->push(top);
					}
				}
				;break;
				case (int)95: {
					HX_SOURCE_POS("Source/JVM.hx",648)
					::JValue top = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",649)
					::JValue btm = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",650)
					stack->push(top);
					HX_SOURCE_POS("Source/JVM.hx",651)
					stack->push(btm);
				}
				;break;
				case (int)96: {
					HX_SOURCE_POS("Source/JVM.hx",653)
					::cpp::CppInt32__ a = ::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",654)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::add(a,b1)));
				}
				;break;
				case (int)97: {
					HX_SOURCE_POS("Source/JVM.hx",656)
					::haxe::Int64 a = ::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",657)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/JVM.hx",658)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/JVM.hx",659)
					stack->push(::JValue_obj::_long(::haxe::Int64_obj::add(a,b1)));
				}
				;break;
				case (int)98: {
					HX_SOURCE_POS("Source/JVM.hx",661)
					int a = ::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",662)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/JVM.hx",663)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/JVM.hx",664)
					stack->push(::JValue_obj::_float((a + b1)));
				}
				;break;
				case (int)99: {
					HX_SOURCE_POS("Source/JVM.hx",666)
					int a = ::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",667)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/JVM.hx",668)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/JVM.hx",669)
					stack->push(::JValue_obj::_double((a + b1)));
				}
				;break;
				case (int)100: {
					HX_SOURCE_POS("Source/JVM.hx",671)
					::cpp::CppInt32__ a = ::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",672)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::sub(a,b1)));
				}
				;break;
				case (int)101: {
					HX_SOURCE_POS("Source/JVM.hx",674)
					::haxe::Int64 a = ::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",675)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/JVM.hx",676)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/JVM.hx",677)
					stack->push(::JValue_obj::_long(::haxe::Int64_obj::sub(a,b1)));
				}
				;break;
				case (int)102: {
					HX_SOURCE_POS("Source/JVM.hx",679)
					int a = ::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",680)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/JVM.hx",681)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/JVM.hx",682)
					stack->push(::JValue_obj::_float((a - b1)));
				}
				;break;
				case (int)103: {
					HX_SOURCE_POS("Source/JVM.hx",684)
					int a = ::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",685)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/JVM.hx",686)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/JVM.hx",687)
					stack->push(::JValue_obj::_double((a - b1)));
				}
				;break;
				case (int)104: {
					HX_SOURCE_POS("Source/JVM.hx",689)
					::cpp::CppInt32__ a = ::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",690)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::mul(a,b1)));
				}
				;break;
				case (int)105: {
					HX_SOURCE_POS("Source/JVM.hx",692)
					::haxe::Int64 a = ::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",693)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/JVM.hx",694)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/JVM.hx",695)
					stack->push(::JValue_obj::_long(::haxe::Int64_obj::mul(a,b1)));
				}
				;break;
				case (int)106: {
					HX_SOURCE_POS("Source/JVM.hx",697)
					int a = ::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",698)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/JVM.hx",699)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/JVM.hx",700)
					stack->push(::JValue_obj::_float((a * b1)));
				}
				;break;
				case (int)107: {
					HX_SOURCE_POS("Source/JVM.hx",702)
					int a = ::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",703)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/JVM.hx",704)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/JVM.hx",705)
					stack->push(::JValue_obj::_double((a * b1)));
				}
				;break;
				case (int)108: {
					HX_SOURCE_POS("Source/JVM.hx",707)
					::cpp::CppInt32__ a = ::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",708)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::div(a,b1)));
				}
				;break;
				case (int)109: {
					HX_SOURCE_POS("Source/JVM.hx",710)
					::haxe::Int64 a = ::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",711)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/JVM.hx",712)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( ::haxe::Int64 &a,::haxe::Int64 &b1){
							{
								HX_SOURCE_POS("Source/JVM.hx",713)
								::haxe::Int64 a1 = a;
								::haxe::Int64 b2 = b1;
								HX_SOURCE_POS("Source/JVM.hx",713)
								bool sign = ::cpp::CppInt32___obj::isNeg(::cpp::CppInt32___obj::_or(a1->high,b2->high));
								HX_SOURCE_POS("Source/JVM.hx",713)
								if ((::cpp::CppInt32___obj::isNeg(a1->high))){
									struct _Function_6_1{
										inline static ::haxe::Int64 Block( ::haxe::Int64 &a1){
											{
												HX_SOURCE_POS("Source/JVM.hx",713)
												::cpp::CppInt32__ high = ::cpp::CppInt32___obj::complement(a1->high);
												HX_SOURCE_POS("Source/JVM.hx",713)
												::cpp::CppInt32__ low = ::cpp::CppInt32___obj::neg(a1->low);
												HX_SOURCE_POS("Source/JVM.hx",713)
												if ((::cpp::CppInt32___obj::isZero(low))){
													HX_SOURCE_POS("Source/JVM.hx",713)
													high = ::cpp::CppInt32___obj::add(high,::cpp::CppInt32___obj::ofInt((int)1));
												}
												HX_SOURCE_POS("Source/JVM.hx",713)
												return ::haxe::Int64_obj::__new(high,low);
											}
											return null();
										}
									};
									HX_SOURCE_POS("Source/JVM.hx",713)
									a1 = _Function_6_1::Block(a1);
								}
								HX_SOURCE_POS("Source/JVM.hx",713)
								if ((::cpp::CppInt32___obj::isNeg(b2->high))){
									struct _Function_6_1{
										inline static ::haxe::Int64 Block( ::haxe::Int64 &b2){
											{
												HX_SOURCE_POS("Source/JVM.hx",713)
												::cpp::CppInt32__ high = ::cpp::CppInt32___obj::complement(b2->high);
												HX_SOURCE_POS("Source/JVM.hx",713)
												::cpp::CppInt32__ low = ::cpp::CppInt32___obj::neg(b2->low);
												HX_SOURCE_POS("Source/JVM.hx",713)
												if ((::cpp::CppInt32___obj::isZero(low))){
													HX_SOURCE_POS("Source/JVM.hx",713)
													high = ::cpp::CppInt32___obj::add(high,::cpp::CppInt32___obj::ofInt((int)1));
												}
												HX_SOURCE_POS("Source/JVM.hx",713)
												return ::haxe::Int64_obj::__new(high,low);
											}
											return null();
										}
									};
									HX_SOURCE_POS("Source/JVM.hx",713)
									b2 = _Function_6_1::Block(b2);
								}
								HX_SOURCE_POS("Source/JVM.hx",713)
								::haxe::Int64 q = ::haxe::Int64_obj::divMod(a1,b2)->__Field(HX_CSTRING("quotient"),true);
								struct _Function_5_1{
									inline static ::haxe::Int64 Block( ::haxe::Int64 &q){
										{
											HX_SOURCE_POS("Source/JVM.hx",713)
											::cpp::CppInt32__ high = ::cpp::CppInt32___obj::complement(q->high);
											HX_SOURCE_POS("Source/JVM.hx",713)
											::cpp::CppInt32__ low = ::cpp::CppInt32___obj::neg(q->low);
											HX_SOURCE_POS("Source/JVM.hx",713)
											if ((::cpp::CppInt32___obj::isZero(low))){
												HX_SOURCE_POS("Source/JVM.hx",713)
												high = ::cpp::CppInt32___obj::add(high,::cpp::CppInt32___obj::ofInt((int)1));
											}
											HX_SOURCE_POS("Source/JVM.hx",713)
											return ::haxe::Int64_obj::__new(high,low);
										}
										return null();
									}
								};
								HX_SOURCE_POS("Source/JVM.hx",713)
								return (  ((sign)) ? ::haxe::Int64(_Function_5_1::Block(q)) : ::haxe::Int64(q) );
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",713)
					stack->push(::JValue_obj::_long(_Function_4_1::Block(a,b1)));
				}
				;break;
				case (int)110: {
					HX_SOURCE_POS("Source/JVM.hx",715)
					int a = ::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",716)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/JVM.hx",717)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/JVM.hx",718)
					stack->push(::JValue_obj::_float((Float(a) / Float(b1))));
				}
				;break;
				case (int)111: {
					HX_SOURCE_POS("Source/JVM.hx",720)
					int a = ::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",721)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/JVM.hx",722)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/JVM.hx",723)
					stack->push(::JValue_obj::_double((Float(a) / Float(b1))));
				}
				;break;
				case (int)112: {
					HX_SOURCE_POS("Source/JVM.hx",725)
					::cpp::CppInt32__ a = ::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",726)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::mod(a,b1)));
				}
				;break;
				case (int)113: {
					HX_SOURCE_POS("Source/JVM.hx",728)
					::haxe::Int64 a = ::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",729)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/JVM.hx",730)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( ::haxe::Int64 &a,::haxe::Int64 &b1){
							{
								HX_SOURCE_POS("Source/JVM.hx",731)
								::haxe::Int64 a1 = a;
								::haxe::Int64 b2 = b1;
								HX_SOURCE_POS("Source/JVM.hx",731)
								bool sign = ::cpp::CppInt32___obj::isNeg(::cpp::CppInt32___obj::_or(a1->high,b2->high));
								HX_SOURCE_POS("Source/JVM.hx",731)
								if ((::cpp::CppInt32___obj::isNeg(a1->high))){
									struct _Function_6_1{
										inline static ::haxe::Int64 Block( ::haxe::Int64 &a1){
											{
												HX_SOURCE_POS("Source/JVM.hx",731)
												::cpp::CppInt32__ high = ::cpp::CppInt32___obj::complement(a1->high);
												HX_SOURCE_POS("Source/JVM.hx",731)
												::cpp::CppInt32__ low = ::cpp::CppInt32___obj::neg(a1->low);
												HX_SOURCE_POS("Source/JVM.hx",731)
												if ((::cpp::CppInt32___obj::isZero(low))){
													HX_SOURCE_POS("Source/JVM.hx",731)
													high = ::cpp::CppInt32___obj::add(high,::cpp::CppInt32___obj::ofInt((int)1));
												}
												HX_SOURCE_POS("Source/JVM.hx",731)
												return ::haxe::Int64_obj::__new(high,low);
											}
											return null();
										}
									};
									HX_SOURCE_POS("Source/JVM.hx",731)
									a1 = _Function_6_1::Block(a1);
								}
								HX_SOURCE_POS("Source/JVM.hx",731)
								if ((::cpp::CppInt32___obj::isNeg(b2->high))){
									struct _Function_6_1{
										inline static ::haxe::Int64 Block( ::haxe::Int64 &b2){
											{
												HX_SOURCE_POS("Source/JVM.hx",731)
												::cpp::CppInt32__ high = ::cpp::CppInt32___obj::complement(b2->high);
												HX_SOURCE_POS("Source/JVM.hx",731)
												::cpp::CppInt32__ low = ::cpp::CppInt32___obj::neg(b2->low);
												HX_SOURCE_POS("Source/JVM.hx",731)
												if ((::cpp::CppInt32___obj::isZero(low))){
													HX_SOURCE_POS("Source/JVM.hx",731)
													high = ::cpp::CppInt32___obj::add(high,::cpp::CppInt32___obj::ofInt((int)1));
												}
												HX_SOURCE_POS("Source/JVM.hx",731)
												return ::haxe::Int64_obj::__new(high,low);
											}
											return null();
										}
									};
									HX_SOURCE_POS("Source/JVM.hx",731)
									b2 = _Function_6_1::Block(b2);
								}
								HX_SOURCE_POS("Source/JVM.hx",731)
								::haxe::Int64 m = ::haxe::Int64_obj::divMod(a1,b2)->__Field(HX_CSTRING("modulus"),true);
								struct _Function_5_1{
									inline static ::haxe::Int64 Block( ::haxe::Int64 &m){
										{
											HX_SOURCE_POS("Source/JVM.hx",731)
											::cpp::CppInt32__ high = ::cpp::CppInt32___obj::complement(m->high);
											HX_SOURCE_POS("Source/JVM.hx",731)
											::cpp::CppInt32__ low = ::cpp::CppInt32___obj::neg(m->low);
											HX_SOURCE_POS("Source/JVM.hx",731)
											if ((::cpp::CppInt32___obj::isZero(low))){
												HX_SOURCE_POS("Source/JVM.hx",731)
												high = ::cpp::CppInt32___obj::add(high,::cpp::CppInt32___obj::ofInt((int)1));
											}
											HX_SOURCE_POS("Source/JVM.hx",731)
											return ::haxe::Int64_obj::__new(high,low);
										}
										return null();
									}
								};
								HX_SOURCE_POS("Source/JVM.hx",731)
								return (  ((sign)) ? ::haxe::Int64(_Function_5_1::Block(m)) : ::haxe::Int64(m) );
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",731)
					stack->push(::JValue_obj::_long(_Function_4_1::Block(a,b1)));
				}
				;break;
				case (int)114: {
					HX_SOURCE_POS("Source/JVM.hx",733)
					int a = ::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",734)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/JVM.hx",735)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/JVM.hx",736)
					stack->push(::JValue_obj::_float(hx::Mod(a,b1)));
				}
				;break;
				case (int)115: {
					HX_SOURCE_POS("Source/JVM.hx",738)
					int a = ::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",739)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/JVM.hx",740)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/JVM.hx",741)
					stack->push(::JValue_obj::_double(hx::Mod(a,b1)));
				}
				;break;
				case (int)116: {
					HX_SOURCE_POS("Source/JVM.hx",742)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::neg(::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)117: {
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( Array< ::JValue > &stack){
							{
								HX_SOURCE_POS("Source/JVM.hx",745)
								::haxe::Int64 a = ::JVM_obj::toNativeValue(stack->pop());
								HX_SOURCE_POS("Source/JVM.hx",745)
								::cpp::CppInt32__ high = ::cpp::CppInt32___obj::complement(a->high);
								HX_SOURCE_POS("Source/JVM.hx",745)
								::cpp::CppInt32__ low = ::cpp::CppInt32___obj::neg(a->low);
								HX_SOURCE_POS("Source/JVM.hx",745)
								if ((::cpp::CppInt32___obj::isZero(low))){
									HX_SOURCE_POS("Source/JVM.hx",745)
									high = ::cpp::CppInt32___obj::add(high,::cpp::CppInt32___obj::ofInt((int)1));
								}
								HX_SOURCE_POS("Source/JVM.hx",745)
								return ::haxe::Int64_obj::__new(high,low);
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",744)
					stack->push(::JValue_obj::_long(_Function_4_1::Block(stack)));
				}
				;break;
				case (int)118: {
					HX_SOURCE_POS("Source/JVM.hx",746)
					stack->push(::JValue_obj::_float(-(::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)119: {
					HX_SOURCE_POS("Source/JVM.hx",748)
					stack->push(::JValue_obj::_double(-(::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)120: {
					HX_SOURCE_POS("Source/JVM.hx",751)
					::cpp::CppInt32__ a = ::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",753)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::shl(a,::cpp::CppInt32___obj::toInt(b1))));
				}
				;break;
				case (int)121: {
					HX_SOURCE_POS("Source/JVM.hx",755)
					::haxe::Int64 a = ::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",756)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/JVM.hx",757)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( ::haxe::Int64 &b1,::haxe::Int64 &a){
							{
								HX_SOURCE_POS("Source/JVM.hx",758)
								int b2 = ::haxe::Int64_obj::toInt(b1);
								HX_SOURCE_POS("Source/JVM.hx",758)
								return (  (((((int(b2) & int((int)63))) == (int)0))) ? ::haxe::Int64(a) : ::haxe::Int64((  (((((int(b2) & int((int)63))) < (int)32))) ? ::haxe::Int64(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::_or(::cpp::CppInt32___obj::shl(a->high,b2),::cpp::CppInt32___obj::ushr(a->low,((int)32 - ((int(b2) & int((int)63)))))),::cpp::CppInt32___obj::shl(a->low,b2))) : ::haxe::Int64(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::shl(a->low,(b2 - (int)32)),::cpp::CppInt32___obj::ofInt((int)0))) )) );
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",758)
					stack->push(::JValue_obj::_long(_Function_4_1::Block(b1,a)));
				}
				;break;
				case (int)122: {
					HX_SOURCE_POS("Source/JVM.hx",760)
					::cpp::CppInt32__ a = ::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",762)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::ushr(a,::cpp::CppInt32___obj::toInt(b1))));
				}
				;break;
				case (int)123: {
					HX_SOURCE_POS("Source/JVM.hx",764)
					::haxe::Int64 a = ::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",765)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/JVM.hx",766)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( ::haxe::Int64 &b1,::haxe::Int64 &a){
							{
								HX_SOURCE_POS("Source/JVM.hx",767)
								int b2 = ::haxe::Int64_obj::toInt(b1);
								HX_SOURCE_POS("Source/JVM.hx",767)
								return (  (((((int(b2) & int((int)63))) == (int)0))) ? ::haxe::Int64(a) : ::haxe::Int64((  (((((int(b2) & int((int)63))) < (int)32))) ? ::haxe::Int64(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::ushr(a->high,b2),::cpp::CppInt32___obj::_or(::cpp::CppInt32___obj::ushr(a->low,b2),::cpp::CppInt32___obj::shl(a->high,((int)32 - ((int(b2) & int((int)63)))))))) : ::haxe::Int64(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::ofInt((int)0),::cpp::CppInt32___obj::ushr(a->high,(b2 - (int)32)))) )) );
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",767)
					stack->push(::JValue_obj::_long(_Function_4_1::Block(b1,a)));
				}
				;break;
				case (int)124: {
					HX_SOURCE_POS("Source/JVM.hx",769)
					::cpp::CppInt32__ a = ::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",771)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::shr(a,::cpp::CppInt32___obj::toInt(b1))));
				}
				;break;
				case (int)125: {
					HX_SOURCE_POS("Source/JVM.hx",773)
					::haxe::Int64 a = ::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",774)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/JVM.hx",775)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( ::haxe::Int64 &b1,::haxe::Int64 &a){
							{
								HX_SOURCE_POS("Source/JVM.hx",776)
								int b2 = ::haxe::Int64_obj::toInt(b1);
								HX_SOURCE_POS("Source/JVM.hx",776)
								return (  (((((int(b2) & int((int)63))) == (int)0))) ? ::haxe::Int64(a) : ::haxe::Int64((  (((((int(b2) & int((int)63))) < (int)32))) ? ::haxe::Int64(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::shr(a->high,b2),::cpp::CppInt32___obj::_or(::cpp::CppInt32___obj::ushr(a->low,b2),::cpp::CppInt32___obj::shl(a->high,((int)32 - ((int(b2) & int((int)63)))))))) : ::haxe::Int64(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::shr(a->high,(int)31),::cpp::CppInt32___obj::shr(a->high,(b2 - (int)32)))) )) );
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",776)
					stack->push(::JValue_obj::_long(_Function_4_1::Block(b1,a)));
				}
				;break;
				case (int)126: {
					HX_SOURCE_POS("Source/JVM.hx",778)
					::cpp::CppInt32__ a = ::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",780)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::_and(a,b1)));
				}
				;break;
				case (int)127: {
					HX_SOURCE_POS("Source/JVM.hx",782)
					::haxe::Int64 a = ::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",783)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/JVM.hx",784)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/JVM.hx",785)
					stack->push(::JValue_obj::_long(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::_and(a->high,b1->high),::cpp::CppInt32___obj::_and(a->low,b1->low))));
				}
				;break;
				case (int)128: {
					HX_SOURCE_POS("Source/JVM.hx",787)
					::cpp::CppInt32__ a = ::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",789)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::_or(a,b1)));
				}
				;break;
				case (int)129: {
					HX_SOURCE_POS("Source/JVM.hx",791)
					::haxe::Int64 a = ::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",792)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/JVM.hx",793)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/JVM.hx",794)
					stack->push(::JValue_obj::_long(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::_or(a->high,b1->high),::cpp::CppInt32___obj::_or(a->low,b1->low))));
				}
				;break;
				case (int)130: {
					HX_SOURCE_POS("Source/JVM.hx",796)
					::cpp::CppInt32__ a = ::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",798)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::_xor(a,b1)));
				}
				;break;
				case (int)131: {
					HX_SOURCE_POS("Source/JVM.hx",800)
					::haxe::Int64 a = ::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",801)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/JVM.hx",802)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/JVM.hx",803)
					stack->push(::JValue_obj::_long(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::_xor(a->high,b1->high),::cpp::CppInt32___obj::_xor(a->low,b1->low))));
				}
				;break;
				case (int)132: {
					HX_SOURCE_POS("Source/JVM.hx",805)
					int ind = bi->readByte();
					HX_SOURCE_POS("Source/JVM.hx",806)
					int inc = bi->readByte();
					HX_SOURCE_POS("Source/JVM.hx",810)
					::JValue old = lvars->__GetItem(ind);
					struct _Function_4_1{
						inline static ::JValue Block( ::JValue &old,int &inc){
							{
								HX_SOURCE_POS("Source/JVM.hx",811)
								{
::JValue _switch_42 = (old);
									switch((_switch_42)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_42->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",812)
												return ::JValue_obj::_int(::cpp::CppInt32___obj::add(v,::cpp::CppInt32___obj::ofInt(inc)));
											}
										}
										;break;
										case 6: {
											::haxe::Int64 v = _switch_42->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",813)
												return ::JValue_obj::_long(::haxe::Int64_obj::add(v,::haxe::Int64_obj::__new(::cpp::CppInt32___obj::ofInt((int(inc) >> int((int)31))),::cpp::CppInt32___obj::ofInt(inc))));
											}
										}
										;break;
										case 3: {
											Float v = _switch_42->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",814)
												return ::JValue_obj::_float((v + inc));
											}
										}
										;break;
										case 4: {
											Float v = _switch_42->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",815)
												return ::JValue_obj::_double((v + inc));
											}
										}
										;break;
										case 10: {
											int v = _switch_42->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",816)
												return ::JValue_obj::_short((v + inc));
											}
										}
										;break;
										case 8: {
											int v = _switch_42->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",817)
												return ::JValue_obj::_char((v + inc));
											}
										}
										;break;
										case 7: {
											int v = _switch_42->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",818)
												return ::JValue_obj::_byte((v + inc));
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",819)
											return hx::Throw (HX_CSTRING("Unable to increment this value"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",811)
					hx::IndexRef((lvars).mPtr,ind) = _Function_4_1::Block(old,inc);
				}
				;break;
				case (int)133: {
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( Array< ::JValue > &stack){
							{
								HX_SOURCE_POS("Source/JVM.hx",825)
								::cpp::CppInt32__ x = ::JVM_obj::toNativeValue(stack->pop());
								HX_SOURCE_POS("Source/JVM.hx",825)
								return ::haxe::Int64_obj::__new(::cpp::CppInt32___obj::shr(x,(int)31),x);
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",824)
					stack->push(::JValue_obj::_long(_Function_4_1::Block(stack)));
				}
				;break;
				case (int)134: {
					HX_SOURCE_POS("Source/JVM.hx",826)
					stack->push(::JValue_obj::_float(::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)135: {
					HX_SOURCE_POS("Source/JVM.hx",828)
					stack->push(::JValue_obj::_double(::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)136: {
					HX_SOURCE_POS("Source/JVM.hx",830)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::ofInt(::haxe::Int64_obj::toInt(::JVM_obj::toNativeValue(stack->pop())))));
				}
				;break;
				case (int)137: {
					HX_SOURCE_POS("Source/JVM.hx",832)
					stack->push(::JValue_obj::_float(::haxe::Int64_obj::toInt(::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)138: {
					HX_SOURCE_POS("Source/JVM.hx",834)
					stack->push(::JValue_obj::_double(::haxe::Int64_obj::toInt(::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)139: {
					HX_SOURCE_POS("Source/JVM.hx",836)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::ofInt(::Std_obj::_int(::JVM_obj::toNativeValue(stack->pop())))));
				}
				;break;
				case (int)140: {
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( Array< ::JValue > &stack){
							{
								HX_SOURCE_POS("Source/JVM.hx",839)
								int x = ::Std_obj::_int(::JVM_obj::toNativeValue(stack->pop()));
								HX_SOURCE_POS("Source/JVM.hx",839)
								return ::haxe::Int64_obj::__new(::cpp::CppInt32___obj::ofInt((int(x) >> int((int)31))),::cpp::CppInt32___obj::ofInt(x));
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",838)
					stack->push(::JValue_obj::_long(_Function_4_1::Block(stack)));
				}
				;break;
				case (int)141: {
					HX_SOURCE_POS("Source/JVM.hx",840)
					stack->push(::JValue_obj::_double(::JVM_obj::toNativeValue(stack->pop())));
				}
				;break;
				case (int)142: {
					HX_SOURCE_POS("Source/JVM.hx",842)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::ofInt(::Std_obj::_int(::JVM_obj::toNativeValue(stack->pop())))));
				}
				;break;
				case (int)143: {
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( Array< ::JValue > &stack){
							{
								HX_SOURCE_POS("Source/JVM.hx",845)
								int x = ::Std_obj::_int(::JVM_obj::toNativeValue(stack->pop()));
								HX_SOURCE_POS("Source/JVM.hx",845)
								return ::haxe::Int64_obj::__new(::cpp::CppInt32___obj::ofInt((int(x) >> int((int)31))),::cpp::CppInt32___obj::ofInt(x));
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",844)
					stack->push(::JValue_obj::_long(_Function_4_1::Block(stack)));
				}
				;break;
				case (int)144: {
					HX_SOURCE_POS("Source/JVM.hx",846)
					stack->push(::JValue_obj::_float(::JVM_obj::toNativeValue(stack->pop())));
				}
				;break;
				case (int)145: {
					HX_SOURCE_POS("Source/JVM.hx",848)
					stack->push(::JValue_obj::_byte(::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)146: {
					HX_SOURCE_POS("Source/JVM.hx",850)
					stack->push(::JValue_obj::_char(::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)147: {
					HX_SOURCE_POS("Source/JVM.hx",852)
					stack->push(::JValue_obj::_short(::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)148: {
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( Array< ::JValue > &stack){
							{
								struct _Function_5_1{
									inline static int Block( Array< ::JValue > &stack){
										{
											HX_SOURCE_POS("Source/JVM.hx",855)
											::haxe::Int64 a = ::JVM_obj::toNativeValue(stack->pop());
											::haxe::Int64 b1 = ::JVM_obj::toNativeValue(stack->pop());
											HX_SOURCE_POS("Source/JVM.hx",855)
											int v = ::cpp::CppInt32___obj::compare(a->high,b1->high);
											HX_SOURCE_POS("Source/JVM.hx",855)
											return (  (((v != (int)0))) ? int(v) : int(::cpp::CppInt32___obj::ucompare(a->low,b1->low)) );
										}
										return null();
									}
								};
								HX_SOURCE_POS("Source/JVM.hx",855)
								int x = _Function_5_1::Block(stack);
								HX_SOURCE_POS("Source/JVM.hx",855)
								return ::haxe::Int64_obj::__new(::cpp::CppInt32___obj::ofInt((int(x) >> int((int)31))),::cpp::CppInt32___obj::ofInt(x));
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",854)
					stack->push(::JValue_obj::_long(_Function_4_1::Block(stack)));
				}
				;break;
				case (int)149: {
					HX_SOURCE_POS("Source/JVM.hx",857)
					int a = ::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",858)
					stack->push(::JValue_obj::_float(::Math_obj::abs((a - b1))));
				}
				;break;
				case (int)150: {
					HX_SOURCE_POS("Source/JVM.hx",860)
					int a = ::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",861)
					stack->push(::JValue_obj::_float(::Math_obj::abs((a - b1))));
				}
				;break;
				case (int)151: {
					HX_SOURCE_POS("Source/JVM.hx",863)
					int a = ::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",864)
					stack->push(::JValue_obj::_double(::Math_obj::abs((a - b1))));
				}
				;break;
				case (int)152: {
					HX_SOURCE_POS("Source/JVM.hx",866)
					int a = ::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",867)
					stack->push(::JValue_obj::_double(::Math_obj::abs((a - b1))));
				}
				;break;
				case (int)153: {
					HX_SOURCE_POS("Source/JVM.hx",869)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",870)
					hx::AddEq(bof,(int)2);
					struct _Function_4_1{
						inline static bool Block( Array< ::JValue > &stack){
							{
								HX_SOURCE_POS("Source/JVM.hx",871)
								{
::JValue _switch_43 = (stack->pop());
									switch((_switch_43)->GetIndex()){
										case 3: {
											Float v = _switch_43->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",872)
												return (v == (int)0);
											}
										}
										;break;
										case 4: {
											Float v = _switch_43->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",873)
												return (v == (int)0);
											}
										}
										;break;
										case 5: {
											::cpp::CppInt32__ v = _switch_43->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",874)
												return ::cpp::CppInt32___obj::isZero(v);
											}
										}
										;break;
										case 6: {
											::haxe::Int64 v = _switch_43->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",875)
												return ::cpp::CppInt32___obj::isZero(::cpp::CppInt32___obj::_or(v->high,v->low));
											}
										}
										;break;
										case 10: {
											int v = _switch_43->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",876)
												return (v == (int)0);
											}
										}
										;break;
										case 7: {
											int v = _switch_43->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",877)
												return (v == (int)0);
											}
										}
										;break;
										case 8: {
											int v = _switch_43->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",878)
												return (v == (int)0);
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",879)
											return hx::Throw (HX_CSTRING("Not a number!"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",871)
					if ((_Function_4_1::Block(stack))){
						HX_SOURCE_POS("Source/JVM.hx",881)
						bi->close();
						HX_SOURCE_POS("Source/JVM.hx",882)
						bof = off;
						HX_SOURCE_POS("Source/JVM.hx",883)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),883,HX_CSTRING("JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/JVM.hx",883)
						bi = ::haxe::io::BytesInput_obj::__new(b,(off - (int)1),null());
					}
				}
				;break;
				case (int)154: {
					HX_SOURCE_POS("Source/JVM.hx",886)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",887)
					hx::AddEq(bof,(int)2);
					struct _Function_4_1{
						inline static bool Block( Array< ::JValue > &stack){
							{
								HX_SOURCE_POS("Source/JVM.hx",888)
								{
::JValue _switch_44 = (stack->pop());
									switch((_switch_44)->GetIndex()){
										case 3: {
											Float v = _switch_44->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",889)
												return (v != (int)0);
											}
										}
										;break;
										case 4: {
											Float v = _switch_44->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",890)
												return (v != (int)0);
											}
										}
										;break;
										case 5: {
											::cpp::CppInt32__ v = _switch_44->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",891)
												return !(::cpp::CppInt32___obj::isZero(v));
											}
										}
										;break;
										case 6: {
											::haxe::Int64 v = _switch_44->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",892)
												return !(::cpp::CppInt32___obj::isZero(::cpp::CppInt32___obj::_or(v->high,v->low)));
											}
										}
										;break;
										case 10: {
											int v = _switch_44->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",893)
												return (v != (int)0);
											}
										}
										;break;
										case 7: {
											int v = _switch_44->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",894)
												return (v != (int)0);
											}
										}
										;break;
										case 8: {
											int v = _switch_44->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",895)
												return (v != (int)0);
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",896)
											return hx::Throw (HX_CSTRING("Not a number!"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",888)
					if ((_Function_4_1::Block(stack))){
						HX_SOURCE_POS("Source/JVM.hx",898)
						bi->close();
						HX_SOURCE_POS("Source/JVM.hx",899)
						bof = off;
						HX_SOURCE_POS("Source/JVM.hx",900)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),900,HX_CSTRING("JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/JVM.hx",900)
						bi = ::haxe::io::BytesInput_obj::__new(b,(off - (int)1),null());
					}
				}
				;break;
				case (int)155: {
					HX_SOURCE_POS("Source/JVM.hx",903)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",904)
					hx::AddEq(bof,(int)2);
					struct _Function_4_1{
						inline static bool Block( Array< ::JValue > &stack){
							{
								HX_SOURCE_POS("Source/JVM.hx",905)
								{
::JValue _switch_45 = (stack->pop());
									switch((_switch_45)->GetIndex()){
										case 3: {
											Float v = _switch_45->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",906)
												return (v < (int)0);
											}
										}
										;break;
										case 4: {
											Float v = _switch_45->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",907)
												return (v < (int)0);
											}
										}
										;break;
										case 5: {
											::cpp::CppInt32__ v = _switch_45->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",908)
												return ::cpp::CppInt32___obj::isNeg(v);
											}
										}
										;break;
										case 6: {
											::haxe::Int64 v = _switch_45->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",909)
												return ::cpp::CppInt32___obj::isNeg(v->high);
											}
										}
										;break;
										case 10: {
											int v = _switch_45->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",910)
												return (v < (int)0);
											}
										}
										;break;
										case 7: {
											int v = _switch_45->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",911)
												return (v < (int)0);
											}
										}
										;break;
										case 8: {
											int v = _switch_45->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",912)
												return (v < (int)0);
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",913)
											return hx::Throw (HX_CSTRING("Not a number!"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",905)
					if ((_Function_4_1::Block(stack))){
						HX_SOURCE_POS("Source/JVM.hx",915)
						bi->close();
						HX_SOURCE_POS("Source/JVM.hx",916)
						bof = off;
						HX_SOURCE_POS("Source/JVM.hx",917)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),917,HX_CSTRING("JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/JVM.hx",917)
						bi = ::haxe::io::BytesInput_obj::__new(b,(off - (int)1),null());
					}
				}
				;break;
				case (int)156: {
					HX_SOURCE_POS("Source/JVM.hx",920)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",921)
					hx::AddEq(bof,(int)2);
					struct _Function_4_1{
						inline static bool Block( Array< ::JValue > &stack){
							{
								HX_SOURCE_POS("Source/JVM.hx",922)
								{
::JValue _switch_46 = (stack->pop());
									switch((_switch_46)->GetIndex()){
										case 3: {
											Float v = _switch_46->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",923)
												return (v >= (int)0);
											}
										}
										;break;
										case 4: {
											Float v = _switch_46->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",924)
												return (v >= (int)0);
											}
										}
										;break;
										case 5: {
											::cpp::CppInt32__ v = _switch_46->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",925)
												return (bool(!(::cpp::CppInt32___obj::isNeg(v))) || bool(::cpp::CppInt32___obj::isZero(v)));
											}
										}
										;break;
										case 6: {
											::haxe::Int64 v = _switch_46->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",926)
												return (bool(!(::cpp::CppInt32___obj::isNeg(v->high))) || bool(::cpp::CppInt32___obj::isZero(::cpp::CppInt32___obj::_or(v->high,v->low))));
											}
										}
										;break;
										case 10: {
											int v = _switch_46->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",927)
												return (v >= (int)0);
											}
										}
										;break;
										case 7: {
											int v = _switch_46->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",928)
												return (v >= (int)0);
											}
										}
										;break;
										case 8: {
											int v = _switch_46->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",929)
												return (v >= (int)0);
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",930)
											return hx::Throw (HX_CSTRING("Not a number!"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",922)
					if ((_Function_4_1::Block(stack))){
						HX_SOURCE_POS("Source/JVM.hx",932)
						bi->close();
						HX_SOURCE_POS("Source/JVM.hx",933)
						bof = off;
						HX_SOURCE_POS("Source/JVM.hx",934)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),934,HX_CSTRING("JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/JVM.hx",934)
						bi = ::haxe::io::BytesInput_obj::__new(b,(off - (int)1),null());
					}
				}
				;break;
				case (int)157: {
					HX_SOURCE_POS("Source/JVM.hx",937)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",938)
					hx::AddEq(bof,(int)2);
					struct _Function_4_1{
						inline static bool Block( Array< ::JValue > &stack){
							{
								HX_SOURCE_POS("Source/JVM.hx",939)
								{
::JValue _switch_47 = (stack->pop());
									switch((_switch_47)->GetIndex()){
										case 3: {
											Float v = _switch_47->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",940)
												return (v > (int)0);
											}
										}
										;break;
										case 4: {
											Float v = _switch_47->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",941)
												return (v > (int)0);
											}
										}
										;break;
										case 5: {
											::cpp::CppInt32__ v = _switch_47->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",942)
												return !(::cpp::CppInt32___obj::isNeg(v));
											}
										}
										;break;
										case 6: {
											::haxe::Int64 v = _switch_47->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",943)
												return !(::cpp::CppInt32___obj::isNeg(v->high));
											}
										}
										;break;
										case 10: {
											int v = _switch_47->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",944)
												return (v > (int)0);
											}
										}
										;break;
										case 7: {
											int v = _switch_47->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",945)
												return (v > (int)0);
											}
										}
										;break;
										case 8: {
											int v = _switch_47->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",946)
												return (v > (int)0);
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",947)
											return hx::Throw (HX_CSTRING("Not a number!"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",939)
					if ((_Function_4_1::Block(stack))){
						HX_SOURCE_POS("Source/JVM.hx",949)
						bi->close();
						HX_SOURCE_POS("Source/JVM.hx",950)
						bof = off;
						HX_SOURCE_POS("Source/JVM.hx",951)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),951,HX_CSTRING("JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/JVM.hx",951)
						bi = ::haxe::io::BytesInput_obj::__new(b,(off - (int)1),null());
					}
				}
				;break;
				case (int)158: {
					HX_SOURCE_POS("Source/JVM.hx",954)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",955)
					hx::AddEq(bof,(int)2);
					struct _Function_4_1{
						inline static bool Block( Array< ::JValue > &stack){
							{
								HX_SOURCE_POS("Source/JVM.hx",956)
								{
::JValue _switch_48 = (stack->pop());
									switch((_switch_48)->GetIndex()){
										case 3: {
											Float v = _switch_48->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",957)
												return (v <= (int)0);
											}
										}
										;break;
										case 4: {
											Float v = _switch_48->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",958)
												return (v <= (int)0);
											}
										}
										;break;
										case 5: {
											::cpp::CppInt32__ v = _switch_48->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",959)
												return (bool(::cpp::CppInt32___obj::isNeg(v)) || bool(::cpp::CppInt32___obj::isZero(v)));
											}
										}
										;break;
										case 6: {
											::haxe::Int64 v = _switch_48->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",960)
												return (bool(::cpp::CppInt32___obj::isNeg(v->high)) || bool(::cpp::CppInt32___obj::isZero(::cpp::CppInt32___obj::_or(v->high,v->low))));
											}
										}
										;break;
										case 10: {
											int v = _switch_48->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",961)
												return (v <= (int)0);
											}
										}
										;break;
										case 7: {
											int v = _switch_48->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",962)
												return (v <= (int)0);
											}
										}
										;break;
										case 8: {
											int v = _switch_48->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",963)
												return (v <= (int)0);
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",964)
											return hx::Throw (HX_CSTRING("Not a number!"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",956)
					if ((_Function_4_1::Block(stack))){
						HX_SOURCE_POS("Source/JVM.hx",966)
						bi->close();
						HX_SOURCE_POS("Source/JVM.hx",967)
						bof = off;
						HX_SOURCE_POS("Source/JVM.hx",968)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),968,HX_CSTRING("JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/JVM.hx",968)
						bi = ::haxe::io::BytesInput_obj::__new(b,(off - (int)1),null());
					}
				}
				;break;
				case (int)159: {
					HX_SOURCE_POS("Source/JVM.hx",971)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",972)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/JVM.hx",973)
					if ((::cpp::CppInt32___obj::isZero(::cpp::CppInt32___obj::sub(::JVM_obj::toNativeValue(stack->pop()),::JVM_obj::toNativeValue(stack->pop()))))){
						HX_SOURCE_POS("Source/JVM.hx",974)
						bi->close();
						HX_SOURCE_POS("Source/JVM.hx",975)
						bof = off;
						HX_SOURCE_POS("Source/JVM.hx",976)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),976,HX_CSTRING("JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/JVM.hx",976)
						bi = ::haxe::io::BytesInput_obj::__new(b,(off - (int)1),null());
					}
				}
				;break;
				case (int)160: {
					HX_SOURCE_POS("Source/JVM.hx",979)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",980)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/JVM.hx",981)
					if ((!(::cpp::CppInt32___obj::isZero(::cpp::CppInt32___obj::sub(::JVM_obj::toNativeValue(stack->pop()),::JVM_obj::toNativeValue(stack->pop())))))){
						HX_SOURCE_POS("Source/JVM.hx",982)
						bi->close();
						HX_SOURCE_POS("Source/JVM.hx",983)
						bof = off;
						HX_SOURCE_POS("Source/JVM.hx",984)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),984,HX_CSTRING("JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/JVM.hx",984)
						bi = ::haxe::io::BytesInput_obj::__new(b,(off - (int)1),null());
					}
				}
				;break;
				case (int)161: {
					HX_SOURCE_POS("Source/JVM.hx",987)
					::cpp::CppInt32__ top = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",988)
					::cpp::CppInt32__ btm = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",989)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",990)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/JVM.hx",991)
					if ((::cpp::CppInt32___obj::isNeg(::cpp::CppInt32___obj::sub(btm,top)))){
						HX_SOURCE_POS("Source/JVM.hx",992)
						bi->close();
						HX_SOURCE_POS("Source/JVM.hx",993)
						bof = off;
						HX_SOURCE_POS("Source/JVM.hx",994)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),994,HX_CSTRING("JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/JVM.hx",994)
						bi = ::haxe::io::BytesInput_obj::__new(b,(off - (int)1),null());
					}
				}
				;break;
				case (int)162: {
					HX_SOURCE_POS("Source/JVM.hx",997)
					::cpp::CppInt32__ top = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",998)
					::cpp::CppInt32__ btm = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",999)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",1000)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/JVM.hx",1001)
					if (((bool(!(::cpp::CppInt32___obj::isNeg(::cpp::CppInt32___obj::sub(btm,top)))) || bool(::cpp::CppInt32___obj::isZero(::cpp::CppInt32___obj::sub(top,btm)))))){
						HX_SOURCE_POS("Source/JVM.hx",1002)
						bi->close();
						HX_SOURCE_POS("Source/JVM.hx",1003)
						bof = off;
						HX_SOURCE_POS("Source/JVM.hx",1004)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1004,HX_CSTRING("JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/JVM.hx",1004)
						bi = ::haxe::io::BytesInput_obj::__new(b,(off - (int)1),null());
					}
					else{
					}
				}
				;break;
				case (int)163: {
					HX_SOURCE_POS("Source/JVM.hx",1011)
					::cpp::CppInt32__ top = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",1012)
					::cpp::CppInt32__ btm = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",1013)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",1014)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/JVM.hx",1015)
					if ((!(::cpp::CppInt32___obj::isNeg(::cpp::CppInt32___obj::sub(btm,top))))){
						HX_SOURCE_POS("Source/JVM.hx",1016)
						bi->close();
						HX_SOURCE_POS("Source/JVM.hx",1017)
						bof = off;
						HX_SOURCE_POS("Source/JVM.hx",1018)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1018,HX_CSTRING("JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/JVM.hx",1018)
						bi = ::haxe::io::BytesInput_obj::__new(b,(off - (int)1),null());
					}
				}
				;break;
				case (int)164: {
					HX_SOURCE_POS("Source/JVM.hx",1021)
					::cpp::CppInt32__ top = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",1022)
					::cpp::CppInt32__ btm = ::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/JVM.hx",1023)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",1024)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/JVM.hx",1025)
					if (((bool(::cpp::CppInt32___obj::isNeg(::cpp::CppInt32___obj::sub(btm,top))) || bool(::cpp::CppInt32___obj::isZero(::cpp::CppInt32___obj::sub(top,btm)))))){
						HX_SOURCE_POS("Source/JVM.hx",1026)
						bi->close();
						HX_SOURCE_POS("Source/JVM.hx",1026)
						bof = off;
						HX_SOURCE_POS("Source/JVM.hx",1026)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1026,HX_CSTRING("JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/JVM.hx",1026)
						bi = ::haxe::io::BytesInput_obj::__new(b,(off - (int)1),null());
					}
				}
				;break;
				case (int)165: {
					HX_SOURCE_POS("Source/JVM.hx",1029)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",1030)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/JVM.hx",1031)
					if (((::JVM_obj::toNativeValue(stack->pop()) == ::JVM_obj::toNativeValue(stack->pop())))){
						HX_SOURCE_POS("Source/JVM.hx",1032)
						bi->close();
						HX_SOURCE_POS("Source/JVM.hx",1032)
						bof = off;
						HX_SOURCE_POS("Source/JVM.hx",1032)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1032,HX_CSTRING("JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/JVM.hx",1032)
						bi = ::haxe::io::BytesInput_obj::__new(b,(off - (int)1),null());
					}
				}
				;break;
				case (int)166: {
					HX_SOURCE_POS("Source/JVM.hx",1035)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",1036)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/JVM.hx",1037)
					if (((::JVM_obj::toNativeValue(stack->pop()) != ::JVM_obj::toNativeValue(stack->pop())))){
						HX_SOURCE_POS("Source/JVM.hx",1038)
						bi->close();
						HX_SOURCE_POS("Source/JVM.hx",1038)
						bof = off;
						HX_SOURCE_POS("Source/JVM.hx",1038)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1038,HX_CSTRING("JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/JVM.hx",1038)
						bi = ::haxe::io::BytesInput_obj::__new(b,(off - (int)1),null());
					}
				}
				;break;
				case (int)167: {
					HX_SOURCE_POS("Source/JVM.hx",1041)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",1042)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/JVM.hx",1046)
					bi->close();
					HX_SOURCE_POS("Source/JVM.hx",1047)
					bof = off;
					HX_SOURCE_POS("Source/JVM.hx",1048)
					::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1048,HX_CSTRING("JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/JVM.hx",1048)
					bi = ::haxe::io::BytesInput_obj::__new(b,(off - (int)1),null());
					HX_SOURCE_POS("Source/JVM.hx",1049)
					bi->setEndian(true);
					HX_SOURCE_POS("Source/JVM.hx",1050)
					continue;
				}
				;break;
				case (int)168: {
					HX_SOURCE_POS("Source/JVM.hx",1052)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::ofInt(bof)));
					HX_SOURCE_POS("Source/JVM.hx",1053)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",1054)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/JVM.hx",1055)
					bi->close();
					HX_SOURCE_POS("Source/JVM.hx",1056)
					::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1056,HX_CSTRING("JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/JVM.hx",1056)
					bi = ::haxe::io::BytesInput_obj::__new(b,(off - (int)1),null());
				}
				;break;
				case (int)169: {
					HX_SOURCE_POS("Source/JVM.hx",1058)
					Dynamic id = lvars->__GetItem(bi->readByte());
					HX_SOURCE_POS("Source/JVM.hx",1059)
					(bof)++;
					HX_SOURCE_POS("Source/JVM.hx",1060)
					bi->close();
					HX_SOURCE_POS("Source/JVM.hx",1061)
					bi = ::haxe::io::BytesInput_obj::__new(b,id,null());
				}
				;break;
				case (int)170: {
					HX_SOURCE_POS("Source/JVM.hx",1062)
					hx::Throw (HX_CSTRING("Unimplemented"));
				}
				;break;
				case (int)171: {
					HX_SOURCE_POS("Source/JVM.hx",1063)
					hx::Throw (HX_CSTRING("Unimplemented"));
				}
				;break;
				case (int)172: {
					HX_SOURCE_POS("Source/JVM.hx",1065)
					bi->close();
					HX_SOURCE_POS("Source/JVM.hx",1066)
					return stack->pop();
				}
				;break;
				case (int)173: {
					HX_SOURCE_POS("Source/JVM.hx",1068)
					bi->close();
					HX_SOURCE_POS("Source/JVM.hx",1069)
					return stack->pop();
				}
				;break;
				case (int)174: {
					HX_SOURCE_POS("Source/JVM.hx",1071)
					bi->close();
					HX_SOURCE_POS("Source/JVM.hx",1072)
					return stack->pop();
				}
				;break;
				case (int)175: {
					HX_SOURCE_POS("Source/JVM.hx",1074)
					bi->close();
					HX_SOURCE_POS("Source/JVM.hx",1075)
					return stack->pop();
				}
				;break;
				case (int)176: {
					HX_SOURCE_POS("Source/JVM.hx",1077)
					bi->close();
					HX_SOURCE_POS("Source/JVM.hx",1078)
					return stack->pop();
				}
				;break;
				case (int)177: {
					HX_SOURCE_POS("Source/JVM.hx",1080)
					bi->close();
					HX_SOURCE_POS("Source/JVM.hx",1084)
					return ::JValue_obj::_void_dyn();
				}
				;break;
				case (int)178: {
					HX_SOURCE_POS("Source/JVM.hx",1086)
					{
::JConstant _switch_49 = (pool->__get(bi->readInt16()));
						switch((_switch_49)->GetIndex()){
							case 10: {
								int nt = _switch_49->__Param(1);
								int c1 = _switch_49->__Param(0);
{
									HX_SOURCE_POS("Source/JVM.hx",1088)
									::String n = ::JVM_obj::toNativeValue(::JVM_obj::toValue(pool->__get(::JVM_obj::resolveRef(pool->__get(c1))),null()));
									HX_SOURCE_POS("Source/JVM.hx",1089)
									if ((::JVM_obj::externs->exists(n))){
										struct _Function_6_1{
											inline static int Block( Array< ::JConstant > &pool,int &nt){
												{
													HX_SOURCE_POS("Source/JVM.hx",1090)
													{
::JConstant _switch_50 = (pool->__get(nt));
														switch((_switch_50)->GetIndex()){
															case 7: {
																int t = _switch_50->__Param(1);
																int n1 = _switch_50->__Param(0);
{
																	HX_SOURCE_POS("Source/JVM.hx",1090)
																	return n1;
																}
															}
															;break;
															default: {
																HX_SOURCE_POS("Source/JVM.hx",1090)
																return hx::Throw (HX_CSTRING("Invalid name & type"));
															}
														}
													}
												}
												return null();
											}
										};
										HX_SOURCE_POS("Source/JVM.hx",1090)
										stack->push(::JVM_obj::fromNativeValue(::Reflect_obj::field(::JVM_obj::externs->get(n),::JVM_obj::toNativeValue(::JVM_obj::toValue(pool->__get(_Function_6_1::Block(pool,nt)),null())))));
									}
									else{
										HX_SOURCE_POS("Source/JVM.hx",1091)
										if ((::JVM_obj::classes->exists(n))){
											HX_SOURCE_POS("Source/JVM.hx",1092)
											stack->push(::JVM_obj::classes->get(n)->__Field(HX_CSTRING("getField"),true)(pool->__get(nt))->__Field(HX_CSTRING("value"),true));
										}
									}
								}
							}
							;break;
							default: {
								HX_SOURCE_POS("Source/JVM.hx",1093)
								hx::Throw (HX_CSTRING("Not a field reference!"));
							}
						}
					}
					HX_SOURCE_POS("Source/JVM.hx",1095)
					hx::AddEq(bof,(int)2);
				}
				;break;
				case (int)179: {
					HX_SOURCE_POS("Source/JVM.hx",1097)
					::JConstant field = pool->__get(bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",1098)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/JVM.hx",1099)
					::JValue value = stack->pop();
				}
				;break;
				case (int)180: {
					struct _Function_4_1{
						inline static ::JObject Block( Array< ::JValue > &stack){
							{
								HX_SOURCE_POS("Source/JVM.hx",1101)
								{
::JValue _switch_51 = (stack->pop());
									switch((_switch_51)->GetIndex()){
										case 1: {
											::JObject o = _switch_51->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",1102)
												return o;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",1103)
											return hx::Throw (HX_CSTRING("Invalid Object"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",1101)
					::JObject obj = _Function_4_1::Block(stack);
					HX_SOURCE_POS("Source/JVM.hx",1105)
					::JConstant field = pool->__get(bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",1106)
					obj->getField(field);
				}
				;break;
				case (int)181: {
					HX_SOURCE_POS("Source/JVM.hx",1108)
					::JConstant fieldref = pool->__get(bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",1109)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/JVM.hx",1110)
					::JValue val = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",1111)
					::JValue obj = stack->pop();
					HX_SOURCE_POS("Source/JVM.hx",1112)
					{
::JValue _switch_52 = (obj);
						switch((_switch_52)->GetIndex()){
							case 1: {
								::JObject o = _switch_52->__Param(0);
{
									HX_SOURCE_POS("Source/JVM.hx",1113)
									o->getField(fieldref);
								}
							}
							;break;
							case 2: {
								Dynamic o = _switch_52->__Param(0);
{
									HX_SOURCE_POS("Source/JVM.hx",1114)
									if (((o != null()))){
										struct _Function_6_1{
											inline static int Block( ::JConstant &fieldref){
												{
													HX_SOURCE_POS("Source/JVM.hx",1114)
													{
::JConstant _switch_53 = (fieldref);
														switch((_switch_53)->GetIndex()){
															case 7: {
																int t = _switch_53->__Param(1);
																int n = _switch_53->__Param(0);
{
																	HX_SOURCE_POS("Source/JVM.hx",1114)
																	return n;
																}
															}
															;break;
															default: {
																HX_SOURCE_POS("Source/JVM.hx",1114)
																return hx::Throw (HX_CSTRING("Invalid name & type"));
															}
														}
													}
												}
												return null();
											}
										};
										HX_SOURCE_POS("Source/JVM.hx",1114)
										o->__SetField(::JVM_obj::toNativeValue(::JVM_obj::toValue(pool->__get(_Function_6_1::Block(fieldref)),pool)),::JVM_obj::toNativeValue(val),false);
									}
								}
							}
							;break;
							default: {
							}
						}
					}
				}
				;break;
				case (int)184: {
					HX_SOURCE_POS("Source/JVM.hx",1118)
					::JConstant val = pool->__get(bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",1119)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/JVM.hx",1120)
					Array< ::JValue > args = Array_obj< ::JValue >::__new();
					HX_SOURCE_POS("Source/JVM.hx",1121)
					while(((stack->length > (int)0))){
						HX_SOURCE_POS("Source/JVM.hx",1122)
						args->push(stack->pop());
					}
					struct _Function_4_1{
						inline static ::JValue Block( ::JConstant &val,Array< ::JConstant > &pool,Array< ::JValue > &args){
							{
								HX_SOURCE_POS("Source/JVM.hx",1123)
								{
::JConstant _switch_54 = (val);
									switch((_switch_54)->GetIndex()){
										case 8: {
											int nt = _switch_54->__Param(1);
											int c1 = _switch_54->__Param(0);
{
												struct _Function_6_1{
													inline static ::String Block( Array< ::JConstant > &pool,int &c1){
														{
															HX_SOURCE_POS("Source/JVM.hx",1125)
															{
::JConstant _switch_55 = (pool->__get(::JVM_obj::resolveRef(pool->__get(c1))));
																switch((_switch_55)->GetIndex()){
																	case 0: {
																		::String s = _switch_55->__Param(0);
{
																			HX_SOURCE_POS("Source/JVM.hx",1125)
																			return s;
																		}
																	}
																	;break;
																	default: {
																		HX_SOURCE_POS("Source/JVM.hx",1125)
																		return hx::Throw (HX_CSTRING("Not a string"));
																	}
																}
															}
														}
														return null();
													}
												};
												HX_SOURCE_POS("Source/JVM.hx",1125)
												::String cl = _Function_6_1::Block(pool,c1);
												struct _Function_6_2{
													inline static ::String Block( Array< ::JConstant > &pool,int &nt){
														{
															struct _Function_7_1{
																inline static int Block( Array< ::JConstant > &pool,int &nt){
																	{
																		HX_SOURCE_POS("Source/JVM.hx",1126)
																		{
::JConstant _switch_56 = (pool->__get(nt));
																			switch((_switch_56)->GetIndex()){
																				case 7: {
																					int t = _switch_56->__Param(1);
																					int n = _switch_56->__Param(0);
{
																						HX_SOURCE_POS("Source/JVM.hx",1126)
																						return n;
																					}
																				}
																				;break;
																				default: {
																					HX_SOURCE_POS("Source/JVM.hx",1126)
																					return hx::Throw (HX_CSTRING("Invalid name & type"));
																				}
																			}
																		}
																	}
																	return null();
																}
															};
															HX_SOURCE_POS("Source/JVM.hx",1126)
															{
::JConstant _switch_57 = (pool->__get(_Function_7_1::Block(pool,nt)));
																switch((_switch_57)->GetIndex()){
																	case 0: {
																		::String s = _switch_57->__Param(0);
{
																			HX_SOURCE_POS("Source/JVM.hx",1126)
																			return s;
																		}
																	}
																	;break;
																	default: {
																		HX_SOURCE_POS("Source/JVM.hx",1126)
																		return hx::Throw (HX_CSTRING("Not a string"));
																	}
																}
															}
														}
														return null();
													}
												};
												HX_SOURCE_POS("Source/JVM.hx",1126)
												::String n = _Function_6_2::Block(pool,nt);
												struct _Function_6_3{
													inline static ::JValue Block( ::String &n,::String &cl,Array< ::JValue > &args){
														{
															HX_SOURCE_POS("Source/JVM.hx",1131)
															Dynamic field = ::Reflect_obj::field(::JVM_obj::externs->get(cl),n);
															HX_SOURCE_POS("Source/JVM.hx",1132)
															if (((field == null()))){
																HX_SOURCE_POS("Source/JVM.hx",1133)
																hx::Throw ((((HX_CSTRING("Unexistant field: ") + n) + HX_CSTRING(" in ")) + cl));
															}
															HX_SOURCE_POS("Source/JVM.hx",1134)
															Dynamic res = ::Reflect_obj::callMethod(::JVM_obj::externs->get(cl),field,args);
															HX_SOURCE_POS("Source/JVM.hx",1136)
															return ::JVM_obj::fromNativeValue(res);
														}
														return null();
													}
												};
												struct _Function_6_4{
													inline static ::JValue Block( Array< ::JConstant > &pool,::String &cl,Array< ::JValue > &args){
														{
															HX_SOURCE_POS("Source/JVM.hx",1138)
															::JValue r = null();
															HX_SOURCE_POS("Source/JVM.hx",1139)
															{
																HX_SOURCE_POS("Source/JVM.hx",1139)
																int _g = (int)0;
																Array< ::JMethod > _g1 = ::JVM_obj::classes->get(cl)->__Field(HX_CSTRING("methods"),true);
																HX_SOURCE_POS("Source/JVM.hx",1139)
																while(((_g < _g1->length))){
																	HX_SOURCE_POS("Source/JVM.hx",1139)
																	::JMethod n1 = _g1->__get(_g);
																	HX_SOURCE_POS("Source/JVM.hx",1139)
																	++(_g);
																	HX_SOURCE_POS("Source/JVM.hx",1140)
																	if (((::JVM_obj::toNativeValue(::JVM_obj::toValue(pool->__get(n1->name_index),null())) == n1))){
																		HX_SOURCE_POS("Source/JVM.hx",1141)
																		int _g2 = (int)0;
																		Array< ::JAttribute > _g3 = n1->attributes;
																		HX_SOURCE_POS("Source/JVM.hx",1141)
																		while(((_g2 < _g3->length))){
																			HX_SOURCE_POS("Source/JVM.hx",1141)
																			::JAttribute a = _g3->__get(_g2);
																			HX_SOURCE_POS("Source/JVM.hx",1141)
																			++(_g2);
																			HX_SOURCE_POS("Source/JVM.hx",1142)
																			{
::JAttribute _switch_58 = (a);
																				switch((_switch_58)->GetIndex()){
																					case 0: {
																						::JCode c2 = _switch_58->__Param(0);
{
																							HX_SOURCE_POS("Source/JVM.hx",1143)
																							r = ::JVM_obj::exec(::JVM_obj::classes->get(cl),c2->code,args);
																						}
																					}
																					;break;
																					default: {
																					}
																				}
																			}
																		}
																	}
																}
															}
															HX_SOURCE_POS("Source/JVM.hx",1147)
															return r;
														}
														return null();
													}
												};
												HX_SOURCE_POS("Source/JVM.hx",1130)
												return (  ((::JVM_obj::externs->exists(cl))) ? ::JValue(_Function_6_3::Block(n,cl,args)) : ::JValue((  ((::JVM_obj::classes->exists(cl))) ? ::JValue(_Function_6_4::Block(pool,cl,args)) : ::JValue(null()) )) );
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",1149)
											return hx::Throw (HX_CSTRING("Expected field reference."));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",1123)
					stack->push(_Function_4_1::Block(val,pool,args));
				}
				;break;
				case (int)186: {
					HX_SOURCE_POS("Source/JVM.hx",1154)
					int index = bi->readInt16();
					HX_SOURCE_POS("Source/JVM.hx",1155)
					if (((bi->readInt16() != (int)0))){
						HX_SOURCE_POS("Source/JVM.hx",1156)
						hx::Throw (HX_CSTRING("Invalid dynamic invocation"));
					}
					HX_SOURCE_POS("Source/JVM.hx",1157)
					hx::AddEq(bof,(int)4);
					HX_SOURCE_POS("Source/JVM.hx",1158)
					::JConstant method = pool->__get(index);
				}
				;break;
				case (int)187: {
					HX_SOURCE_POS("Source/JVM.hx",1160)
					::JObject obj = ::JObject_obj::__new();
					struct _Function_4_1{
						inline static ::String Block( Array< ::JConstant > &pool,::haxe::io::BytesInput &bi){
							{
								struct _Function_5_1{
									inline static int Block( Array< ::JConstant > &pool,::haxe::io::BytesInput &bi){
										{
											HX_SOURCE_POS("Source/JVM.hx",1161)
											{
::JConstant _switch_59 = (pool->__get(bi->readInt16()));
												switch((_switch_59)->GetIndex()){
													case 5: {
														int i = _switch_59->__Param(0);
{
															HX_SOURCE_POS("Source/JVM.hx",1161)
															return i;
														}
													}
													;break;
													default: {
														HX_SOURCE_POS("Source/JVM.hx",1161)
														return hx::Throw (HX_CSTRING("Invalid class reference"));
													}
												}
											}
										}
										return null();
									}
								};
								HX_SOURCE_POS("Source/JVM.hx",1161)
								{
::JConstant _switch_60 = (pool->__get(_Function_5_1::Block(pool,bi)));
									switch((_switch_60)->GetIndex()){
										case 0: {
											::String s = _switch_60->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",1161)
												return s;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",1161)
											return hx::Throw (HX_CSTRING("Not a string"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",1161)
					obj->type = _Function_4_1::Block(pool,bi);
					HX_SOURCE_POS("Source/JVM.hx",1162)
					obj->init(::JVM_obj::classes->get(obj->type));
					HX_SOURCE_POS("Source/JVM.hx",1163)
					stack->push(::JValue_obj::_object(obj));
				}
				;break;
				case (int)188: {
					HX_SOURCE_POS("Source/JVM.hx",1165)
					int length = ::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()));
					HX_SOURCE_POS("Source/JVM.hx",1169)
					int type = bi->readByte();
					HX_SOURCE_POS("Source/JVM.hx",1170)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/JVM.hx",1174)
					stack->push(::JValue_obj::_array(::JArray_obj::__new(length)));
				}
				;break;
				case (int)189: {
					HX_SOURCE_POS("Source/JVM.hx",1176)
					int length = ::cpp::CppInt32___obj::toInt(::JVM_obj::toNativeValue(stack->pop()));
					HX_SOURCE_POS("Source/JVM.hx",1177)
					int type = bi->readInt16();
					HX_SOURCE_POS("Source/JVM.hx",1178)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/JVM.hx",1182)
					stack->push(::JValue_obj::_array(::JArray_obj::__new(length)));
				}
				;break;
				case (int)190: {
					struct _Function_4_1{
						inline static int Block( Array< ::JValue > &stack){
							{
								HX_SOURCE_POS("Source/JVM.hx",1184)
								{
::JValue _switch_61 = (stack->pop());
									switch((_switch_61)->GetIndex()){
										case 0: {
											::JArray a = _switch_61->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",1185)
												return a->length;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",1186)
											return hx::Throw (HX_CSTRING("This is not an array!"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",1183)
					stack->push(::JValue_obj::_int(::cpp::CppInt32___obj::ofInt(_Function_4_1::Block(stack))));
				}
				;break;
				case (int)182: {
					HX_SOURCE_POS("Source/JVM.hx",1189)
					::JValue obj = stack->__get((int)0);
					HX_SOURCE_POS("Source/JVM.hx",1191)
					stack = stack->slice((int)1,null());
					HX_SOURCE_POS("Source/JVM.hx",1192)
					{
::JConstant _switch_62 = (pool->__get(bi->readInt16()));
						switch((_switch_62)->GetIndex()){
							case 8: {
								int f = _switch_62->__Param(1);
								int n = _switch_62->__Param(0);
{
									HX_SOURCE_POS("Source/JVM.hx",1194)
									::String c1 = ::JVM_obj::toNativeValue(::JVM_obj::toValue(pool->__get(::JVM_obj::resolveRef(pool->__get(n))),null()));
									HX_SOURCE_POS("Source/JVM.hx",1201)
									{
::JValue _switch_63 = (obj);
										switch((_switch_63)->GetIndex()){
											case 1: {
												::JObject o = _switch_63->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",1206)
													::JClass cl = ::JVM_obj::classes->get(c1);
													HX_SOURCE_POS("Source/JVM.hx",1207)
													::JMethod method = cl->getMethod(pool->__get(f),pool);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_63->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",1214)
													Dynamic args = ::Lambda_obj::array(::Lambda_obj::map(stack,::JVM_obj::toNativeValue_dyn()));
													HX_SOURCE_POS("Source/JVM.hx",1218)
													stack = Array_obj< ::JValue >::__new();
													struct _Function_6_1{
														inline static int Block( Array< ::JConstant > &pool,int &f){
															{
																HX_SOURCE_POS("Source/JVM.hx",1219)
																{
::JConstant _switch_64 = (pool->__get(f));
																	switch((_switch_64)->GetIndex()){
																		case 7: {
																			int t = _switch_64->__Param(1);
																			int n1 = _switch_64->__Param(0);
{
																				HX_SOURCE_POS("Source/JVM.hx",1219)
																				return n1;
																			}
																		}
																		;break;
																		default: {
																			HX_SOURCE_POS("Source/JVM.hx",1219)
																			return hx::Throw (HX_CSTRING("Invalid name & type"));
																		}
																	}
																}
															}
															return null();
														}
													};
													HX_SOURCE_POS("Source/JVM.hx",1219)
													Dynamic ntv = ::Reflect_obj::callMethod(o,::Reflect_obj::field(o,::JVM_obj::toNativeValue(::JVM_obj::toValue(pool->__get(_Function_6_1::Block(pool,f)),null()))),args);
													HX_SOURCE_POS("Source/JVM.hx",1220)
													if (((ntv != null()))){
														HX_SOURCE_POS("Source/JVM.hx",1221)
														stack->push(::JVM_obj::fromNativeValue(ntv));
													}
												}
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/JVM.hx",1222)
												hx::Throw (HX_CSTRING("Invalid Type"));
											}
										}
									}
								}
							}
							;break;
							default: {
							}
						}
					}
					HX_SOURCE_POS("Source/JVM.hx",1226)
					hx::AddEq(bof,(int)2);
				}
				;break;
				case (int)183: {
					HX_SOURCE_POS("Source/JVM.hx",1228)
					::JConstant method = pool->__get(bi->readInt16());
					HX_SOURCE_POS("Source/JVM.hx",1229)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/JVM.hx",1230)
					::JValue obj = stack->__get((int)0);
					HX_SOURCE_POS("Source/JVM.hx",1231)
					stack = stack->slice((int)1,null());
					HX_SOURCE_POS("Source/JVM.hx",1232)
					::JValue res = ::JVM_obj::solveMethodRef(obj,pool,method,stack);
					HX_SOURCE_POS("Source/JVM.hx",1233)
					if (((bool((res != null())) && bool((res != ::JValue_obj::_void_dyn()))))){
						HX_SOURCE_POS("Source/JVM.hx",1234)
						stack->push(res);
					}
				}
				;break;
				case (int)202: {
				}
				;break;
				default: {
					HX_SOURCE_POS("Source/JVM.hx",1236)
					hx::Throw ((HX_CSTRING("Unknown instruction: ") + ::StringTools_obj::hex(byte,null())));
				}
			}
		}
	}
	catch(Dynamic __e){
		{
			Dynamic d = __e;{
			}
		}
	}
	HX_SOURCE_POS("Source/JVM.hx",1243)
	return ::JValue_obj::_void_dyn();
}


STATIC_HX_DEFINE_DYNAMIC_FUNC3(JVM_obj,exec,return )

::JValue JVM_obj::fromNativeValue( Dynamic d){
	HX_SOURCE_PUSH("JVM_obj::fromNativeValue")
	HX_SOURCE_POS("Source/JVM.hx",1252)
	{
::ValueType _switch_65 = (::Type_obj::_typeof(d));
		switch((_switch_65)->GetIndex()){
			case 8: {
				HX_SOURCE_POS("Source/JVM.hx",1257)
				return ::JValue_obj::_void_dyn();
			}
			;break;
			case 4: {
				HX_SOURCE_POS("Source/JVM.hx",1258)
				return ::JValue_obj::_exter(d);
			}
			;break;
			case 0: {
				HX_SOURCE_POS("Source/JVM.hx",1259)
				return ::JValue_obj::_object(null());
			}
			;break;
			case 1: {
				HX_SOURCE_POS("Source/JVM.hx",1260)
				return ::JValue_obj::_int(::cpp::CppInt32___obj::ofInt(d));
			}
			;break;
			case 5: {
				HX_SOURCE_POS("Source/JVM.hx",1261)
				return ::JValue_obj::_exter(d);
			}
			;break;
			case 2: {
				HX_SOURCE_POS("Source/JVM.hx",1262)
				return ::JValue_obj::_double(d);
			}
			;break;
			case 3: {
				HX_SOURCE_POS("Source/JVM.hx",1263)
				return ::JValue_obj::_boolean(d);
			}
			;break;
			case 6: {
				::Class c = _switch_65->__Param(0);
{
					HX_SOURCE_POS("Source/JVM.hx",1264)
					return ::JValue_obj::_exter(d);
				}
			}
			;break;
			case 7: {
				::Enum e = _switch_65->__Param(0);
{
					HX_SOURCE_POS("Source/JVM.hx",1265)
					return ::JValue_obj::_exter(d);
				}
			}
			;break;
		}
	}
	HX_SOURCE_POS("Source/JVM.hx",1252)
	return null();
}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(JVM_obj,fromNativeValue,return )

::JValue JVM_obj::solveMethodRef( ::JValue obj,Array< ::JConstant > pool,::JConstant method,Array< ::JValue > args){
	HX_SOURCE_PUSH("JVM_obj::solveMethodRef")
	HX_SOURCE_POS("Source/JVM.hx",1284)
	::cpp::vm::Gc_obj::run(false);
	HX_SOURCE_POS("Source/JVM.hx",1285)
	{
::JConstant _switch_66 = (method);
		switch((_switch_66)->GetIndex()){
			case 8: {
				int nt = _switch_66->__Param(1);
				int c = _switch_66->__Param(0);
{
					HX_SOURCE_POS("Source/JVM.hx",1287)
					::String c1 = ::JVM_obj::toNativeValue(::JVM_obj::toValue(pool->__get(::JVM_obj::resolveRef(pool->__get(c))),null()));
					struct _Function_2_1{
						inline static int Block( Array< ::JConstant > &pool,int &nt){
							{
								HX_SOURCE_POS("Source/JVM.hx",1288)
								{
::JConstant _switch_67 = (pool->__get(nt));
									switch((_switch_67)->GetIndex()){
										case 7: {
											int t = _switch_67->__Param(1);
											int n = _switch_67->__Param(0);
{
												HX_SOURCE_POS("Source/JVM.hx",1288)
												return n;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/JVM.hx",1288)
											return hx::Throw (HX_CSTRING("Invalid name & type"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/JVM.hx",1288)
					::String n = ::JVM_obj::toNativeValue(::JVM_obj::toValue(pool->__get(_Function_2_1::Block(pool,nt)),null()));
					HX_SOURCE_POS("Source/JVM.hx",1289)
					if ((::JVM_obj::externs->exists(c1))){
						HX_SOURCE_POS("Source/JVM.hx",1290)
						Dynamic nargs = ::Lambda_obj::array(::Lambda_obj::map(args,::JVM_obj::toNativeValue_dyn()));
						HX_SOURCE_POS("Source/JVM.hx",1291)
						if (((n == HX_CSTRING("<init>")))){
							HX_SOURCE_POS("Source/JVM.hx",1292)
							return ::JValue_obj::_void_dyn();
						}
						else{
							HX_SOURCE_POS("Source/JVM.hx",1294)
							return ::JVM_obj::fromNativeValue(::Reflect_obj::callMethod(::JVM_obj::externs->get(c1),::Reflect_obj::field(c1,n),nargs));
						}
					}
					else{
						HX_SOURCE_POS("Source/JVM.hx",1295)
						if ((::JVM_obj::classes->exists(c1))){
							HX_SOURCE_POS("Source/JVM.hx",1296)
							::JMethod m = ::JVM_obj::classes->get(c1)->__Field(HX_CSTRING("getMethod"),true)(pool->__get(nt),pool);
							struct _Function_4_1{
								inline static int Block( Array< ::JConstant > &pool,int &nt){
									{
										HX_SOURCE_POS("Source/JVM.hx",1297)
										{
::JConstant _switch_68 = (pool->__get(nt));
											switch((_switch_68)->GetIndex()){
												case 7: {
													int t = _switch_68->__Param(1);
													int n1 = _switch_68->__Param(0);
{
														HX_SOURCE_POS("Source/JVM.hx",1297)
														return n1;
													}
												}
												;break;
												default: {
													HX_SOURCE_POS("Source/JVM.hx",1297)
													return hx::Throw (HX_CSTRING("Invalid name & type"));
												}
											}
										}
									}
									return null();
								}
							};
							HX_SOURCE_POS("Source/JVM.hx",1297)
							::String n1 = ::JVM_obj::toNativeValue(::JVM_obj::toValue(pool->__get(_Function_4_1::Block(pool,nt)),null()));
							HX_SOURCE_POS("Source/JVM.hx",1298)
							Array< ::JConstant > pool1 = ::JVM_obj::classes->get(c1)->__Field(HX_CSTRING("const_pool"),true);
							HX_SOURCE_POS("Source/JVM.hx",1299)
							{
								HX_SOURCE_POS("Source/JVM.hx",1299)
								int _g = (int)0;
								Array< ::JAttribute > _g1 = m->attributes;
								HX_SOURCE_POS("Source/JVM.hx",1299)
								while(((_g < _g1->length))){
									HX_SOURCE_POS("Source/JVM.hx",1299)
									::JAttribute att = _g1->__get(_g);
									HX_SOURCE_POS("Source/JVM.hx",1299)
									++(_g);
									HX_SOURCE_POS("Source/JVM.hx",1300)
									::JCode code = null();
									HX_SOURCE_POS("Source/JVM.hx",1301)
									{
::JAttribute _switch_69 = (att);
										switch((_switch_69)->GetIndex()){
											case 0: {
												::JCode c2 = _switch_69->__Param(0);
{
													HX_SOURCE_POS("Source/JVM.hx",1302)
													code = c2;
												}
											}
											;break;
											default: {
											}
										}
									}
									HX_SOURCE_POS("Source/JVM.hx",1305)
									if (((code == null()))){
										HX_SOURCE_POS("Source/JVM.hx",1306)
										hx::Throw (HX_CSTRING("Code not found"));
									}
									else{
										HX_SOURCE_POS("Source/JVM.hx",1308)
										::JValue res = ::JVM_obj::exec(::JVM_obj::classes->get(c1),code->code,args);
										HX_SOURCE_POS("Source/JVM.hx",1309)
										return (  (((bool((n1 == HX_CSTRING("<init>"))) && bool((res == null()))))) ? ::JValue(::JValue_obj::_void_dyn()) : ::JValue(res) );
									}
								}
							}
						}
					}
				}
			}
			;break;
			default: {
				HX_SOURCE_POS("Source/JVM.hx",1313)
				hx::Throw (HX_CSTRING("Invalid method reference"));
			}
		}
	}
	HX_SOURCE_POS("Source/JVM.hx",1316)
	return ::JValue_obj::_void_dyn();
}


STATIC_HX_DEFINE_DYNAMIC_FUNC4(JVM_obj,solveMethodRef,return )


JVM_obj::JVM_obj()
{
}

void JVM_obj::__Mark(HX_MARK_PARAMS)
{
	HX_MARK_BEGIN_CLASS(JVM);
	HX_MARK_END_CLASS();
}

void JVM_obj::__Visit(HX_VISIT_PARAMS)
{
}

Dynamic JVM_obj::__Field(const ::String &inName,bool inCallProp)
{
	switch(inName.length) {
	case 4:
		if (HX_FIELD_EQ(inName,"init") ) { return init_dyn(); }
		if (HX_FIELD_EQ(inName,"main") ) { return main_dyn(); }
		if (HX_FIELD_EQ(inName,"exec") ) { return exec_dyn(); }
		break;
	case 7:
		if (HX_FIELD_EQ(inName,"classes") ) { return classes; }
		if (HX_FIELD_EQ(inName,"externs") ) { return externs; }
		if (HX_FIELD_EQ(inName,"toValue") ) { return toValue_dyn(); }
		break;
	case 8:
		if (HX_FIELD_EQ(inName,"runClass") ) { return runClass_dyn(); }
		break;
	case 9:
		if (HX_FIELD_EQ(inName,"readClass") ) { return readClass_dyn(); }
		break;
	case 10:
		if (HX_FIELD_EQ(inName,"resolveRef") ) { return resolveRef_dyn(); }
		break;
	case 13:
		if (HX_FIELD_EQ(inName,"readAttribute") ) { return readAttribute_dyn(); }
		if (HX_FIELD_EQ(inName,"toNativeValue") ) { return toNativeValue_dyn(); }
		break;
	case 14:
		if (HX_FIELD_EQ(inName,"solveMethodRef") ) { return solveMethodRef_dyn(); }
		break;
	case 15:
		if (HX_FIELD_EQ(inName,"fromNativeValue") ) { return fromNativeValue_dyn(); }
	}
	return super::__Field(inName,inCallProp);
}

Dynamic JVM_obj::__SetField(const ::String &inName,const Dynamic &inValue,bool inCallProp)
{
	switch(inName.length) {
	case 7:
		if (HX_FIELD_EQ(inName,"classes") ) { classes=inValue.Cast< ::Hash >(); return inValue; }
		if (HX_FIELD_EQ(inName,"externs") ) { externs=inValue.Cast< ::Hash >(); return inValue; }
	}
	return super::__SetField(inName,inValue,inCallProp);
}

void JVM_obj::__GetFields(Array< ::String> &outFields)
{
	super::__GetFields(outFields);
};

static ::String sStaticFields[] = {
	HX_CSTRING("classes"),
	HX_CSTRING("externs"),
	HX_CSTRING("resolveRef"),
	HX_CSTRING("readClass"),
	HX_CSTRING("readAttribute"),
	HX_CSTRING("toNativeValue"),
	HX_CSTRING("runClass"),
	HX_CSTRING("init"),
	HX_CSTRING("main"),
	HX_CSTRING("toValue"),
	HX_CSTRING("exec"),
	HX_CSTRING("fromNativeValue"),
	HX_CSTRING("solveMethodRef"),
	String(null()) };

static ::String sMemberFields[] = {
	String(null()) };

static void sMarkStatics(HX_MARK_PARAMS) {
	HX_MARK_MEMBER_NAME(JVM_obj::classes,"classes");
	HX_MARK_MEMBER_NAME(JVM_obj::externs,"externs");
};

static void sVisitStatics(HX_VISIT_PARAMS) {
	HX_VISIT_MEMBER_NAME(JVM_obj::classes,"classes");
	HX_VISIT_MEMBER_NAME(JVM_obj::externs,"externs");
};

Class JVM_obj::__mClass;

void JVM_obj::__register()
{
	Static(__mClass) = hx::RegisterClass(HX_CSTRING("JVM"), hx::TCanCast< JVM_obj> ,sStaticFields,sMemberFields,
	&__CreateEmpty, &__Create,
	&super::__SGetClass(), 0, sMarkStatics, sVisitStatics);
}

void JVM_obj::__boot()
{
	hx::Static(classes) = ::Hash_obj::__new();
	hx::Static(externs) = ::Hash_obj::__new();
}

